[英]C# how to add to the index of an array in a foreach / for loop?
C#新手,对为什么不起作用感到困惑。
假设我有一个{1、2、3}数组。
我将如何遍历此数组以设定的增量更改值,例如,如果增量为1:
{1,2,3}变为{2,3,4}
如果它的2变成{3,4,5}等。
这是我的尝试-
foreach (int i in ls)
{
int index = i + increment;
}
您几乎成功了,但是失败了,因为您将增量的结果放入了一个临时变量,然后在每个循环中都将其重置,并且没有更改原始数组
而且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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.