为什么在C#的for循环中我无法更改指定索引的值?

问题描述 投票:0回答:1

我正在尝试这样做:

int[] nums = new int[10];

 for (int i = 0; i < nums.Length; i++)
 {
     nums[9] = i + 10;
     Console.WriteLine("Index: {0}, value: {1}", i, nums[9]);
 }

但我的输出仍然是一样的:

Index: 0, value: 10
Index: 1, value: 11
Index: 2, value: 12
Index: 3, value: 13
Index: 4, value: 14
Index: 5, value: 15
Index: 6, value: 16
Index: 7, value: 17
Index: 8, value: 18
Index: 9, value: 19

我是 C# 新手,我正在测试语法和其他一些东西。

我试图迭代数组,我意识到无论我设置要更改什么索引,它都不会更改我指向的值。 是我理解错了还是我没明白什么?

c# for-loop syntax
1个回答
1
投票

您没有更改索引,而是更改了值。此外,您无法按照您尝试的方式更改索引 - 您需要删除记录并将其添加到您想要的位置。
你的索引每次都会增加,就像你的输出显示的那样,但是你每次都在 nums[9] 中设置值,你根本没有改变索引,而只改变那个值。

© www.soinside.com 2019 - 2024. All rights reserved.