C#如何在foreach/for循环中添加到数组的索引中

本文关键字:添加 数组 索引 循环 for foreach | 更新日期: 2023-09-27 18:25:45

C#新手对为什么这不起作用感到困惑。

假设我有一个{1,2,3}的数组。

我将如何循环通过这个数组来通过设置的增量来更改值,例如,如果增量是1:

{1,2,3}变成{2,3,4}

如果它是2,它就变成{3,4,5}等

这是我的尝试-

foreach (int i in ls)
{
int index = i + increment;
}

C#如何在foreach/for循环中添加到数组的索引中

您差点成功,但您失败了,因为您将增量的结果放入一个临时变量中,然后在每个循环中重新设置,并且没有更改原始数组

此外,foreach不适合这种操作,因为无论如何都需要一个索引来指向要编辑的正确数组元素,所以for是更好的

int increment = 1;
for (int i = 0; i < ls.Length; i++) {
   int newValue = ls[i] + increment;
   ls[i] = newValue;
}

我已经创建了一个小提琴,你可以测试

https://dotnetfiddle.net/lkkLUv

注意,我或多或少让你尝试一下,这样你就可以看到差异,但循环可以缩小到

for (int i = 0; i < ls.Length; i++) {
    ls[i] += increment;
}

使用您的表示法,应该使用以下方法:

var newarr = ls.Select(w => w + increment);