You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何循环遍历带增量后缀的变量(如daywinner1、daywinner2)?

解决带增量后缀变量的循环遍历问题

你现在的问题是单独定义了daywinner1、daywinner2、daywinner3这类变量,没法通过循环递增后缀来遍历它们,而且原代码里的olympia[][]写法也存在语法错误。

正确实现思路:用数组统一存储winner值

别单独定义多个离散变量,把输入的winner值放到一个数组里,这样就能和olympia的索引一一对应,直接通过循环处理:

string[][] olympia =
{
    new string[]{"a","b","c" },
    new string[]{"d","e"},
    new string[]{"f","g","h","j","k"}
};

// 将输入的winner值存入数组,统一管理
int[] dayWinners = new int[3];
for (int i = 0; i < dayWinners.Length; i++)
{
    dayWinners[i] = int.Parse(Console.ReadLine());
}

// 循环遍历,通过索引对应访问olympia和winner值
for (int i = 0; i < olympia.Length; i++)
{
    // 增加合法性判断,避免数组越界报错
    if (dayWinners[i] >= 0 && dayWinners[i] < olympia[i].Length)
    {
        Console.WriteLine(olympia[i][dayWinners[i]]);
    }
    else
    {
        Console.WriteLine($"第{i+1}天输入的索引不合法,请输入0到{olympia[i].Length-1}之间的数字");
    }
}

原写法的问题

C#是强类型语言,单独定义的daywinner1、daywinner2是完全独立的变量,没法通过动态拼接变量名的方式调用它们,这种离散定义的方式本身就不适合循环场景,用数组或列表统一存储才是符合语言规范的合理方案。

内容的提问来源于stack exchange,提问作者Trong Tin Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 17:40:40