Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在foreach/for循环中添加数组的索引?_C#_Arrays_For Loop_Foreach_Int - Fatal编程技术网

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

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); 您差点成功,但您失败了,因为您将增量的结果

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不适合这种操作,因为您无论如何都需要一个索引来指向要编辑的正确数组元素,因此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