說我有一個列表,我有一個對象。我如何在列表中找到該對象的索引?如何從VB.NET中的列表中找到對象的索引?
4
A
回答
19
您可以使用FindIndex查找通用列表中對象的索引: 這是獲取對象索引的最靈活的方法。
Dim list As New List(Of Object)
Const myApple = "Apple111"
For i = 0 To 1000
List.Add("Apple" & i)
Next
Dim indexOfMyApple = list.FindIndex(Function(apple) (myApple.Equals(apple)))
但IndexOf方法甚至simplier和更簡單,如果你只是想找到由DefaultEqualityComparer列表中的一個對象:
Dim indexOfMyApple = list.IndexOf(myApple)
您可以使用IndexOf
此外,如果你不知道它是什麼類型,.NET將使用Equals來確定兩個對象是否相等(應該被重寫爲不僅僅是比較引用)。
+0
如果我不知道對象中有什麼,該怎麼辦。我只有參考但不瞭解這些對象的內容。 – rokonoid
+0
@rokonid:編輯我的答案 –
相關問題
- 1. vb.net如何找到索引的#陣列中的
- 2. VB.net列表不返回索引對象
- 3. 我如何找到嵌套列表中的列表的索引
- 4. 從列表中找到索引
- 5. 如何找到SWT表列的索引
- 6. 對象子類列表到父列表中的索引
- 7. 從Elixir的列表中查找索引
- 8. 如何找到在Rails中有對象的數組的索引?
- 9. 在列表中找到int的索引
- 10. 如何在列表中找到一系列值的索引?
- 11. 如何在Scala中找到列表中最大值的索引?
- 12. flash as3 - 如何在數組中找到對象的索引
- 13. C#查找對象參數x等於值的列表中對象的索引
- 14. 如何獲取Java列表中的對象索引
- 15. 如何更新Freemarker中的列表索引對象值
- 16. 如何從數組中檢索鋼軌中的對象列表?
- 17. 如何從對象列表中查找對象?
- 18. 如何在列表中找到數組的索引
- 19. 如何在列表中找到一個字符串的索引
- 20. 對分Python列表並找到索引
- 21. 從單個查詢的列表中返回索引和對象?
- 22. 如何在列表中查找子列表的索引?
- 23. 索引到動物園對象列表
- 24. 如何序列化VB.NET中的列表(對象)?
- 25. c# - 將對象添加到列表中的特定索引
- 26. LDAP未從搜索中找到對象
- 27. 在自定義對象列表中查找索引
- 28. 如何寫一個「列表(對象)到一個文件中VB.NET?
- 29. 如何索引python中的對象?
- 30. 得到對象的列表在C#中對象的引用
ListBox或ListView或List <>? –
假設列表是一個Generics.List(...),那麼這個問題不幸地是不明確的,或者至少它是由MS處理的。多年來,我一直在使用IndexOf和Contains而沒有考慮它,因爲我認爲他們做了他們的名字暗示。但是他們不會搜索該對象,而是尋找滿足Equals函數的對象。這意味着如果您重寫了Equals,那麼即使對象不存在,IndexOf也可能返回一個值,因爲列表中的對象返回True for obj.Equals(target)。除非對象是不可變的,否則這絕不是我想要的 –
相關(***不*** ***重複):對於檢查**存在**和簡單的'List(Of String)')的簡單情況,請參閱:* [檢查一個字符串列表是否包含一個值](http://stackoverflow.com/questions/26732563)* –