为了账号安全,请及时绑定邮箱和手机立即绑定

Dictionary.ContainsKey() 抛出 KeyNotFound 异常

Dictionary.ContainsKey() 抛出 KeyNotFound 异常

C#
动漫人物 2023-04-29 15:50:50
我有一本充满列表的字典。在我向字典添加新键之前,我检查它是否已经在字典中。如果是这样,我将该对象添加到列表中。如果不是,我创建一个新对象并使用键将其添加到字典中。问题是 Dictionary.ContainsKey() 函数有时会抛出 KeyNotFound 异常,这对我来说毫无意义。我试过使用 Dictionary.TryGetValue() 函数,它有同样的问题。我还确保密钥不为空。string key = time.ToString();Console.WriteLine(key);if (!synthSong.Track[difficulty].ContainsKey(key)){  List<SynthNote> notes = new List<SynthNote>();  notes.Add(note);  synthSong.Track[difficulty].Add(key, notes);}else{  synthSong.Track[difficulty][key].Add(note);}奇怪的是,异常只发生在某些数据集上。
查看完整描述

1 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

该程序将歌曲文件从一种节奏游戏转换为另一种节奏游戏。为此,我从一个 json 文件中读取数据并将其导出到另一个 json 文件。为此,我有一个类,每个类都包含所有相关信息,例如 json(反)序列化程序使用的难度。当我正在更新程序以支持更多困难时发生错误。我已经在导入端和将信息映射到导出类而不是导出类本身的代码中更改了困难。所以我写的难度键在导出类(名为 synthSong)中不存在。我错误地认为错误是由检查没有意义的关键变量引起的。我想这就是为什么“key”不是要用作键的变量的最佳名称的原因。



查看完整回答
反对 回复 2023-04-29
  • 1 回答
  • 0 关注
  • 181 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信