我想從一個列表中獲取一個特定項目的索引值。但函數返回值-1。我可否知道indexof return -1的原因是什麼?C#Indexof返回值-1
回答
IndexOf()
正在返回的原因-1
是因爲您試圖找到的項目不存在於列表中。
根據documentation,IndexOf
將返回「如果找到整個列表中第一次出現的項目的從零開始的索引;否則返回-1」。
您應該仔細檢查調試器,您會發現您試圖找到索引的項目不在您的清單中。
請記住(同樣,這是在文檔中)。 「這個方法使用默認的相等比較器EqualityComparer.Default來確定等於T,這是列表中值的類型。」所以,如果你確信你的項目應該在列表中,你應該看你的類型的EqualityComparer。
我做了一個foreach循環來檢查這個項目是否存在。它確實存在於列表 –
@NGZen閱讀我的最後一段。僅僅因爲你在調試器的列表中看到它,並不意味着你的類型的EqualityComparer發現它們是相等的。 – maccettura
好的,我將通過使用Equals函數來檢查相等性。謝謝 –
- 1. indexOf()函數返回-1值
- 2. Indexof()返回-1
- 3. 的Java的indexOf返回-1
- 4. 爲什麼IndexOf返回-1?
- 5. Java ArrayList indexOf返回-1
- 6. Javascript indexOf()總是返回-1
- 7. JavaScript indexOf總是返回-1
- 8. 代碼 「1個\ u02ff」 .IndexOf( 「1」)返回-1
- 9. Java - arraylist1.get(arraylist2.indexOf(nextCharacter))返回-1
- 10. Java indexOf和lastIndexOf返回-1 ??請幫忙
- 11. ArrayList的indexOf()在java中返回-1
- 12. 爲什麼「[[1,2],[3,4]]。indexOf([1,2])」返回-1?
- 13. Powershell多維數組IndexOf返回-1
- 14. indexOf即使數組中存在值,也返回-1的數組
- 15. Hashset包含重複的值;另外ArrayList indexOf(string_present_in_list)返回-1
- 16. java indexOf當它應該返回一個正數時返回-1
- 17. indexOf返回「-1」時它應該返回「4」
- 18. IndexOf返回-1時,它應該返回0
- 19. 的indexOf(「 - 」)迴歸 - 每次1
- 20. indexOf方法如何返回falsely值?
- 21. C#ObservableCollection.IndexOf(...)返回-1
- 22. c#:ExecuteNonQuery()返回-1
- 23. c#MySqlCommand.ExecuteNonQuery()返回-1
- 24. List.IndexOf返回1 c#
- 25. 值返回1.#INF000
- 26. C中返回值1的含義
- 27. android indexof arraylist由getInstalledPackages返回
- 28. Javascript indexOf未返回結果
- 29. JavaScript數組indexOf返回undefined
- 30. Stump - indexOf在存儲變量上返回-1
如果該項目不在列表中,可能會發生這種情況。 – praveen
您是否閱讀過[documentation](https://msdn.microsoft.com/en-us/library/e4w08k17(v = vs.110).aspx)?特別是它所說的部分:「[返回]如果找到整個列表中第一次出現的項目的從零開始的索引; **否則爲-1。**」 –
maccettura
該項目假設獲取索引是在列表 –