「オブジェクト参照がオブジェクトインスタンスに設定されていない」にContainsKeyはtrueですが、それでも私は、このような条件を持っている
// `xyz` is a `dictionary<string, MyCustomType>`.
if(smth){
xyz["ord_82"] = Func() ;// That Returns "MyCustomType" object
}
if(xyz.ContainsKey("ord_82"){
Print("started");
Print(xyz["ord_82"].ToString()); // <---------------- sometimes this line throws "Object reference not set to an instance of an object"
Print("ended");
}
私は..あなたが見るContainsKey
が渡されたことを、理由かもしれない何かを見つけるcouldntの
は、だからあなたは何 'XYZ [ "ord_82"]'戻って見たのですか?おそらくそれは完全に有効なヌルを返すでしょう... –
この種の問題については、 'ContainsKey'と' [] 'ではなく' TryGetValue'を使うべきです。それはより演奏されるでしょう。 'TryGetValue'に変更しても問題は解決しません。@GiladGreenの解を読む必要があります。 – mjwills
@mjwills thnks! –