2011-03-24 2 views
1

한 시간 동안 인터넷 검색이 중단되어 답변을 찾지 못하는 것 같습니다. 다음은 "어리석은"단어를 제거하고 "hello world"를 인쇄합니다.VB.Net에서 VB.Net 필터 배열에 해당하는 것

Dim arr As Variant: arr = Array("hello", "stupid", "world") 
Dim newArr As Variant: newArr = Filter(arr, "stupid", False) 
Debug.Print Join(newArr, " ") 

필터에 해당하는 VB.Net은 무엇입니까? 어떤 도움이라도 대단히 감사하겠습니다! 편집 : (I은 2.0 NET 프레임 워크 솔루션을 찾고 있어요)이 같은

답변

0

.NET 2.0이처럼 Array.FindAll 방법을 사용할 수 있습니다 :

Dim arr As String() = New String() {"hello", "stupid", "world"} 
Dim newArr As String() = Array.FindAll(arr, AddressOf RemoveElements) 

USI 이 술어 :

Private Shared Function RemoveElements(ByVal s As String) As Boolean 
    Return Not s.Equals("stupid") 
End Function 
+0

.NET 2에서 VB.Net의 람다 함수를 사용할 수 있습니까? – MarkJ

+0

@ MarkJ 당연히 아니야! 고마워. 수정 후 –

+0

+1 귀하의 함수는 C#이지만 :) – MarkJ

2

뭔가 아마 (VB 10 가정) :

Dim arr As String() = {"hello", "stupid", "world"} 

Dim filteredArray = (from s in arr 
        Where s <> "stupid" 
        Select s).ToArray() 

대안은 제외하고 사용하는 것입니다 (닷넷 3.5에서 사용할 수있는) :

Dim words As String() = {"hello", "stupid", "world"} 
Dim excludedWords As String() = {"stupid"} 

Dim filteredArray = words.Except(excludedWords).ToArray() 
+0

안녕하세요 Chris, 감사합니다. 당신의 말. 솔루션을 제외하고는 프레임 워크 3.5에서 작동합니다. 2.0에서 어떻게 할 수 있는지 아는 사람? – DontFretBrett

관련 문제