我有一本充滿列表的字典。在我向字典添加新鍵之前,我檢查它是否已經在字典中。如果是這樣,我將該對象添加到列表中。如果不是,我創建一個新對象并使用鍵將其添加到字典中。問題是 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”不是要用作鍵的變量的最佳名稱的原因。
- 1 回答
- 0 關注
- 219 瀏覽
添加回答
舉報
0/150
提交
取消