C# 如何在foreach/for循环中添加数组的索引?
C#新手和困惑,为什么这不起作用 假设我有一个数组{1,2,3} 我如何循环此数组以通过设置的增量更改值,例如,如果增量为1: {1,2,3}变成{2,3,4} 如果它的2变成{3,4,5}等等 这是我的尝试-C# 如何在foreach/for循环中添加数组的索引?,c#,arrays,for-loop,foreach,int,C#,Arrays,For Loop,Foreach,Int,C#新手和困惑,为什么这不起作用 假设我有一个数组{1,2,3} 我如何循环此数组以通过设置的增量更改值,例如,如果增量为1: {1,2,3}变成{2,3,4} 如果它的2变成{3,4,5}等等 这是我的尝试- foreach (int i in ls) { int index = i + increment; } 使用您的表示法,以下内容可以做到这一点: var newarr = ls.Select(w => w + increment); 您差点成功,但您失败了,因为您将增量的结果
foreach (int i in ls)
{
int index = i + increment;
}
使用您的表示法,以下内容可以做到这一点:
var newarr = ls.Select(w => w + increment);
您差点成功,但您失败了,因为您将增量的结果放入一个临时变量中,然后在每个循环中重置该变量,并且没有更改原始数组 此外,foreach不适合这种操作,因为您无论如何都需要一个索引来指向要编辑的正确数组元素,因此for更好
int increment = 1;
for (int i = 0; i < ls.Length; i++) {
int newValue = ls[i] + increment;
ls[i] = newValue;
}
int增量=1;
对于(int i=0;i
我已经创造了一个小提琴,你可以测试
请注意,我或多或少让您尝试一下,这样您就可以看到差异,但循环可以缩小到
for (int i = 0; i < ls.Length; i++) {
ls[i] += increment;
}
for(int i=0;i
使用for循环
:for(int i=0;i