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

C# Dictionary填充失败求助:无法完成‘Find Word’小游戏字典初始化

问题分析与解决

你的代码会抛出ArgumentException,核心问题如下:

1. 键数组k的赋值逻辑错误

第一个for循环里,你在循环体额外写了i++,导致每次循环i会递增两次:

for (int i = 0; i < k.Length; i++)
{
    k[i] = i;
    i++; // 此处多了一次递增操作
}

这会让k数组只有偶数索引(0、2、4...)被赋值为对应数字,奇数索引(1、3、5...)的默认值是0。当第二个循环执行到i=1时,你尝试添加键0(k[1]的值),但此时Dictionary中已存在键0,而Dictionary不允许重复键,直接触发异常。

2. 冗余的键数组k

完全没必要单独创建k数组,你要使用的键就是循环索引i,直接用i作为键即可,既简化代码又避免错误。

修复后的代码

static void Main(string[] args)
{
    Dictionary<int, string> wordDictionary = new Dictionary<int, string>();

    string[] values = new string[] {
        "аванс", "адрес", "атлас", "вальс", "голос", "запас", "афера", "обвал", "кокос", "анонс",
        "лотос", "обжог", "нюанс", "дюшес", "опрос", "оазис", "окрас", "парус", "пафос", "пегас",
        "акула", "барка", "белка", "жажда", "кобра", "крыса", "почка", "пасха", "пачка", "секта",
        "обзор", "отдых", "ответ", "орден", "вагон", "венец", "ветка", "врата", "волна", "выдра",
        "газон", "глава", "гонец", "горох", "грудь", "дверь", "девиз", "диета", "длина", "досуг",
        "кабан", "каток", "квота", "кефир", "конюх", "кокос", "лаваш", "ладья", "лемур", "ловец",
        "магия", "мазут", "майор", "метил", "мумия", "наряд", "нерпа", "носок", "нитка", "недуг",
        "пакет", "палач", "перец", "песок", "пешка", "пожар", "побег", "позор", "приют", "птица",
        "радио", "разум", "ребро", "рывок", "русло", "салат", "салон", "сенат", "талон", "титан",
        "туфля", "уксус", "улица", "херес", "химия", "чайка", "череп", "шишка", "шорох"
    };

    for (int i = 0; i < values.Length; i++)
    {
        wordDictionary.Add(i, values[i]);
    }

    Console.WriteLine(wordDictionary[5]); // 输出 "запас"
    Console.ReadLine();
}

额外优化建议

  • 变量名遵循C#编码规范:局部变量用camelCase(比如Word改为wordDictionary,value改为values),提升代码可读性。
  • 数组初始化时省略长度,让编译器自动计算元素数量,避免手动计数出错。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 13:35:41