2011-01-11 6 views

답변

18

를 당신이 사용할 수있는 확신 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 
+0

감사합니다. 일치하는 항목이있는 경우 어떻게 일치 된 요소에 액세스 할 수 있습니까? singleOrDefault를 사용합니까? – Prabhu

+0

@Prabhu : 또는 'FirstOrDefault'. 나는 그것을 사용하여 시작하는 것이 좋습니다 - 그 점을 발견하고 다시 살펴 보는 것이 중요하지 않습니다. –

+0

감사! 실제로 항목에 액세스하고 속성을 편집해야합니다. foo를 편집하면 어떻게 업데이트 된 foo로 목록을 업데이트합니까? – Prabhu

6

그것은 VB.NET은 람다 표현식에 대해 다른 구문은 제외하고, 같은 약이다 : : C#에서, 당신은이 권리 비슷한 거라고

myList.Exists(Function(myObject) myObject.property1 = 3) 
관련 문제