[解決済み] System.Collections.Generic.KeyNotFoundException: 与えられたキーが辞書に存在しない; c#での例外取得
2022-02-28 03:25:43
質問
私は辞書を持っていて、動的に辞書からe値を取得していますが、何回か例外が発生します。誰かが親切にこの上で助けることができる
ディクショナリーで何らかのアクションを行う前に test[typeof(T)].Key.ColumnName の値をチェックするようにするにはどうすればよいですか。
!string.isnullorEmptyを使用すると、それ自体がエラーを投げます。 コード
int ID=123;
private Dictionary<Type, DataTableAttribute> test
parameters.AddInt32Parameter(test[typeof(T)].Key.ColumnName, ID);
-- 感謝
解決方法は?
を使用することができます。 キーが含まれる を使用すると、例外を回避することができます。
int ID=123;
Dictionary<Type, DataTableAttribute> test
// fill test-dictionary
if (test.ContainsKey(typeof(T))
{
parameters.AddInt32Parameter(test[typeof(T)].Key.ColumnName, ID);
}
別の方法として TryGetValue :
DataTableAttribute attr;
if (test.TryGetValue(typeof(T), out attr)
{
// ...
}
関連
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】IntPtrとは一体何なのか?
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] ディクショナリーで最大値を持つキーを取得する?
-
[解決済み] 辞書の値でキーを取得する
-
[解決済み] リクエストは中断されました。SSL/TLSセキュアチャネルを作成できませんでした
-
[解決済み] 辞書のキーの名前を変更する
-
[解決済み] 辞書のキーを値で取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】コンパイルエラー「未割り当てのローカル変数を使用しています」が発生したのはなぜですか?
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】ASP.NET Core Dependency Injectionのエラーです。アクティブ化しようとしているときに、タイプのサービスを解決できません。
-
[解決済み】C#はJavaのcharAt()と同等?)
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み】2年前のMSDateを把握する【クローズド
-
[解決済み] 関数を終了するには?
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない