次のような文字列をオブジェクトにマップする辞書があります。
Dictionary<string, object> myDic;
オブジェクトの型が文字列に基づいていることは前もって知っていますが、私の質問は、TryGetValue を使用するか、try、catch ステートメントを使用して直接検索するかです。
例:
//TryGetValueMethod
object myObject = null;
myDic.TryGetValue("test", out myObject);
MyCustomType t1 = (MyCustomType) myObject;
//Direct lookup method
try
{
MyCustomType t2 = (MyCustomType) myDic["test"];
//Do something here...
} catch {}
どのような方法が好ましいと思いますか? 2 つ目は、余分なキャストがないため、よりクリーンなコーディングですが、例外がないため、最初のものよりも効率が悪いと思います。