0
我不知所措。我有一個帶有字符串鍵的Dictionary對象。這些對象是我擁有的自定義類型。這個例子引發InvalidCastException:InvalidCastException調用Dictionary.TryGetValue(String,out對象)時。爲什麼?
MyObject temp;
if(Dict.TryGetValue("abc", out temp)) //exception
如果我改用 「的containsKey」,我仍然得到一個InvalidCastException:
if(Dict.ContainsKey("abc")) //exception
在這兩種情況下,如果我把手錶放在快譯通[ 「ABC」] ,我從字典中獲得了我想要的值。異常詳細信息不提供額外的信息。
我試着放在一起復制這種情況的小代碼示例,但我的代碼示例完美工作。我不知道如何爲這個問題提供代碼示例。
爲什麼在檢查字典中是否存在鍵時會出現InvalidCastException?爲什麼ContainsKey甚至需要在其實現中進行任何投射?我該如何解決?
所以你不能重現它,並且在例外中有* no *信息?像,可能是堆棧跟蹤?目前還不清楚任何人如何能夠提供幫助。 – 2012-02-24 17:02:01
你能發表你的字典的聲明嗎? ContainsKey只會引發ArgumentNullException而不是InvalidCastException,因此它是您之前正在做的或與您的字典的聲明有關的事情。 – Jetti 2012-02-24 17:03:10
你可以添加Dict的聲明嗎? – 2012-02-24 17:04:18