是否可以循环增量变量名称?

Tro*_*yen 0 c# loops for-loop

假设我有一些变量的名称为: daywinner1 、 daywinner2 、 daywinner3 ...我如何通过增加它们的增量组件来循环这些变量???

我已经尝试过但无法实现

我的代码:

        string[][] olympia =
        {
            new string[]{"a","b","c" },
            new string[]{"d","e"},
            new string[]{"f","g","h","j","k"}
        };
        int daywinner1 = int.Parse(Console.ReadLine());
        int daywinner2 = int.Parse(Console.ReadLine());
        int daywinner3 = int.Parse(Console.ReadLine());
        for (int i = 0; i < olympia.Length; i++)
        {
            Console.WriteLine(olympia[][]);
        }    
Run Code Online (Sandbox Code Playgroud)

小智 5

不可能以这种方式迭代变量名称,因为每个变量都是一个离散的、单独的框。代码中“daywinner1”、“daywinner2”和“daywinner3”之间没有任何关系。

您可以将它们命名为“距离”、“高度”和“宽度”或“红色、蓝色、绿色”。编译器无法知道它们之间的关系是什么,或者它们应该是什么顺序。

但是,您可以创建一个数组,其中每个元素都以显式顺序包含您想要的值。

例如:

int[] daywinners = new int[3];
daywinners[0] = int.Parse(Console.ReadLine());
daywinners[1] = int.Parse(Console.ReadLine());
daywinners[2] = int.Parse(Console.ReadLine());
Run Code Online (Sandbox Code Playgroud)

然后,您可以像这样迭代 daywinners 数组:

foreach (var daywinner in daywinners) {

}
Run Code Online (Sandbox Code Playgroud)

我建议更多地了解数据结构。