목록 myList
은 MyObjects
입니다. myList
에 VB.NET의 myObject
속성을 기반으로 특정 myObject
이 포함되어 있는지 확인할 수 있습니까?목록. 목록 항목의 속성을 기반으로합니다.
myList.Exists(myObject => myObject.property1 == 3)
목록 myList
은 MyObjects
입니다. myList
에 VB.NET의 myObject
속성을 기반으로 특정 myObject
이 포함되어 있는지 확인할 수 있습니까?목록. 목록 항목의 속성을 기반으로합니다.
myList.Exists(myObject => myObject.property1 == 3)
를 당신이 사용할 수있는 확신 VB.NET에서 myList.Exists
도 마찬가지입니다. 람다 식 구문 만 있으면됩니다.
그러나보다 일반적인 방법은 LINQ 연산자 Any
을 사용하는 것이며 과부하는 조건자를 사용합니다.
myList.Any(Function(myObject) myObject.property1 = 3)
는 개인적으로 내가 더 구체적인 List<T>
방법은 어떤 이유로 상당한 이점을 제공하지 않는 LINQ 연산자를 사용하는 것을 선호 예를 들면 다음과 같습니다.
편집 :
당신이 나중에 개체에 액세스해야하는 경우, 그냥 사용
Dim foo = myList.FirstOrDefault(Function(myObject) myObject.property1 = 3)
If (foo Is Not Nothing) Then
...
End If
그것은 VB.NET은 람다 표현식에 대해 다른 구문은 제외하고, 같은 약이다 : : C#에서, 당신은이 권리 비슷한 거라고
myList.Exists(Function(myObject) myObject.property1 = 3)
감사합니다. 일치하는 항목이있는 경우 어떻게 일치 된 요소에 액세스 할 수 있습니까? singleOrDefault를 사용합니까? – Prabhu
@Prabhu : 또는 'FirstOrDefault'. 나는 그것을 사용하여 시작하는 것이 좋습니다 - 그 점을 발견하고 다시 살펴 보는 것이 중요하지 않습니다. –
감사! 실제로 항목에 액세스하고 속성을 편집해야합니다. foo를 편집하면 어떻게 업데이트 된 foo로 목록을 업데이트합니까? – Prabhu