我有一個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. 爲什麼會發生這種不正常的XML行爲
- 3. 我不明白爲什麼這會發生ClassCastException異常
- 4. 爲什麼會出現這種差異?
- 5. 爲什麼這個wordpress主題會發生這種情況?
- 6. 爲什麼會發生這種不停地說這不是definied
- 7. 爲什麼這會拋出異常?
- 8. 爲什麼這種單身人士行爲會發生?
- 9. 爲什麼在這種情況下引發ClassLoader異常?
- 10. 錯誤模塊這是什麼意思,爲什麼會發生這種情況?
- 11. 爲什麼在SharpGL.dll中發生異常?
- 12. Javascript - 爲什麼發生此異常?
- 13. 爲什麼findViewById()會引發空異常? ?
- 14. 爲什麼argparse不會引發異常?
- 15. 爲什麼reader.GetOrdinal(「FieldName」)會引發異常?
- 16. 爲什麼Hotspot會引發pulseaudio異常?
- 17. LogCat錯誤,爲什麼會發生這種情況?
- 18. 爲什麼會發生這種傳輸級錯誤?
- 19. 爲什麼會發生這種崩潰nodejs
- 20. mysql沒有連接,但爲什麼會發生這種情況
- 21. AS3:爲什麼會發生這種情況?
- 22. 爲什麼ToolStripMenuItems會發生這種情況?
- 23. 爲什麼會發生這種代碼拋出賽格故障
- 24. 爲什麼會發生這種情況的IEnumerable與列表
- 25. 爲什麼會發生這種情況與我的變量?
- 26. python:<type'exceptions.UnicodeEncodeError'>爲什麼會發生這種情況?
- 27. 爲什麼這種奇怪的字符編碼會發生?
- 28. MYSQL語法錯誤 - 爲什麼會發生這種情況?
- 29. 爲什麼這種情況不會發生?
- 30. 爲什麼在這種情況下填充不會發生?
本字典的鍵和值(TKey,TValue)的類型是什麼? – 2012-07-14 12:14:02
你確定你的Key是一個字符串嗎? – Carra 2012-07-14 12:14:13
爲什麼你會像迭代器一樣使用字典? '對[「左」]'應該更有效率。 – 2012-07-14 12:14:17