Dot-Net

List.Contains 基於列表項的屬性

  • January 11, 2011

我有一個myList. MyObjects是否可以檢查是否myList包含myObject基於myObjectVB.NET 中的屬性的特定內容?在 C# 中,你會得到類似的東西:

myList.Exists(myObject => myObject.property1 == 3)

我相信您也可以myList.Exists在 VB.NET 中使用,只需使用它的 lambda 表達式語法。

但是,更一般的方法是使用AnyLINQ 運算符,並帶有採用謂詞的重載。例如:

myList.Any(Function(myObject) myObject.property1 = 3)

就個人而言,我更喜歡使用 LINQ 運算符,除非更具體的List<T>方法出於某種原因提供了顯著的優勢。

編輯:

如果您之後需要訪問該對象,只需使用:

Dim foo = myList.FirstOrDefault(Function(myObject) myObject.property1 = 3)
If (foo Is Not Nothing) Then
   ...
End If

引用自:https://stackoverflow.com/questions/4662510