我有一個dictionary
名稱Pair
在c#中。它包含一些鍵 - 值對。我添加了一個屏幕快照,在(p.Key == "left)
,Sequence containes no matching element
上生成了一個異常,但是如果您在Pair Dictionary
中看到,那麼left
鍵將出現在那裏。那麼請有人告訴我爲什麼會發生這種異常?
1
A
回答
4
如果我能看到它,那麼left
值的前面會出現一個空格" left"
,因此p.Key == "left"
從不爲真。
改爲使用p.Key.contains("left")
,或者在嘗試操縱它之前檢查它是否返回值。或者修剪前後的空格。
1
您應該使用indexer或TryGetValue而不是Single。對於Single,沒有理由使用字典。
此外,您的問題源於這樣一個事實,即「左」之前有空格,因此整個字符串實際上是「左」。看看寬度是如何在左邊的一個字符。
1
如果它不是一個白soace問題,那麼唯一的辦法,我可以發生這種情況是如果字典是一個Dictionary<object,...>
,在這種情況下==
您使用的是參考平等,不串平等。那會導致它失敗。如果是這樣,請使用Dictionary<string,...>
或使用Equals("left", p,Key)
。
請注意Pair["left"]
將是一個更好的查找方式。
+0
==爲字符串相等的字符串重寫。 – Euphoric 2012-07-14 12:21:55
+2
@Euphoric:但不清楚它是一個'Dictionary
相關問題
- 1. 爲什麼會發生這種異常? Lucene異常
- 2. 爲什麼會發生這種提高空對象異常
- 3. 爲什麼會發生這種情況?
- 4. 爲什麼會發生這種不正常的XML行爲
- 5. 爲什麼會發生XmlPullParserException異常?
- 6. 字符串參數異常,爲什麼會發生這種情況?
- 7. 我不明白爲什麼這會發生ClassCastException異常
- 8. 爲什麼會發生這種C代碼產生這種大會
- 9. 爲什麼會出現這種差異?
- 10. 爲什麼這個wordpress主題會發生這種情況?
- 11. 爲什麼會發生這種不停地說這不是definied
- 12. 爲什麼這會拋出異常?
- 13. UnboundLocalError。爲什麼發生這種情況?
- 14. 爲什麼這種單身人士行爲會發生?
- 15. 爲什麼在這種情況下引發ClassLoader異常?
- 16. 爲什麼在這種情況下引發UnrecoverableKeyException異常?
- 17. 錯誤模塊這是什麼意思,爲什麼會發生這種情況?
- 18. 爲什麼JPQL語法異常發生?
- 19. java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver發生異常。爲什麼?
- 20. 爲什麼Android MotionEvent.getHistoricalX發生異常
- 21. Javascript - 爲什麼發生此異常?
- 22. 爲什麼在SharpGL.dll中發生異常?
- 23. 爲什麼會發生此異常 - java.lang.ClassCastException:java.lang.String不能轉換爲com.mongodb.DBObject
- 24. 爲什麼findViewById()會引發空異常? ?
- 25. 爲什麼argparse不會引發異常?
- 26. 爲什麼Hotspot會引發pulseaudio異常?
- 27. 這爲什麼會產生浮點異常?
- 28. 這段代碼爲什麼會產生異常?
- 29. 爲什麼這個文件讀取代碼會產生異常?
- 30. 爲什麼ToolStripMenuItems會發生這種情況?
本字典的鍵和值(TKey,TValue)的類型是什麼? – 2012-07-14 12:14:02
你確定你的Key是一個字符串嗎? – Carra 2012-07-14 12:14:13
爲什麼你會像迭代器一樣使用字典? '對[「左」]'應該更有效率。 – 2012-07-14 12:14:17