C#基本

[C#] 標準例外 System.Collections.Generic.KeyNotFoundException

2023年3月31日

標準例外「System.Collections.Generic.KeyNotFoundException」についてです。

定義

例外

System.Collections.Generic.KeyNotFoundException

原因・意味

コレクションに存在しないキーにアクセスしようとした

対処法

発生例

例)Dictionaryに存在しないキーでアクセスする

using System.Collections.Generic;

// Dictionaryを生成
var dic = new Dictionary<string, int>();
dic.Add("Orange", 100);
dic.Add("Apple", 200);
dic.Add("Peach", 300);

// Dictionary内に存在しないキーにアクセス
int a = dic["Grape"];

System.Collections.Generic.KeyNotFoundException: 'The given key 'Grape' was not present in the dictionary.'

10行目で存在しないキー「Grape」にアクセスしているためエラーが発生します。

備考

  • キーが存在しない可能性があるコレクションにアクセスする場合は.ContainsKeyで存在確認すると安全です。

-C#基本
-