[英]Blazor - Bind each element in @foreach loop to corresponding Array index
[英]Assigning each field of an array to a variable, foreach loop
我有一個字符串數組和一個 for 每個循環。 我想遍歷數組並對每個字段做一些事情,然后將每個字段的結果輸出到一個新變量。
編輯:數組的每個字段都從一個隱藏字段中獲取一個值,該值以分鍾為單位表示時間。 在 foreach 循環中,我打算將每個字段從 mins 轉換為 HH:mm 格式。 然后我需要將新格式傳遞給一個新變量。
大批:
string[] field = new string[8];
field[0] = field_0_0.Value;
field[1] = field_0_1.Value;
field[2] = field_0_2.Value;
field[3] = field_0_3.Value;
field[4] = field_1_0.Value;
field[5] = field_1_1.Value;
field[6] = field_1_2.Value;
field[7] = field_1_3.Value;
Foreach循環:
foreach (string newfields in field)
{
//Do something to each field
}
我正在尋求幫助的部分是將每個結果分配給一個新變量。 任何人都可以指出我正確的方向,或者甚至建議一種不同/更好的方法來做到這一點。
提前致謝。
只需使用普通的for
循環。
for(int i=0;i<field.Length;i++) {
string curValue = field[i];
// do something with curValue, change it in some way
field[i] = curValue; //update
}
如果這不是您所要求的,請澄清。
您可以更改要枚舉的對象,但不能使用 foreach。 您將需要使用 for 循環。 感謝評論修改示例
List<string> mylist = new List<string>();
mylist.Add("item1");
mylist.Add("item2");
for (int i = 0; i < mylist.Count; i++)
{
mylist[i] = mylist[i].Replace("i", "o");
}
使用for
代替foreach
, foreach
不允許您更改您的值。
像這樣使用for
:
for(int i = 0; i < field.Length; i++)
//Do something to each field
field[i] = "text"+i;
long i = 0;
foreach(string field in fields){
// Use i counter to initialize the array index
fields[i]="New Field String.";
// Increment the counter i by 1
i++;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.