프록시 유형의 개체 목록을 필터링하려고합니다. 다음은 속성입니다.동적 쿼리를 사용하는 필터 목록?
Public Property IP As String
Public Property Port As Integer
Public Property Status As ProxyStatus
Public Property Country As String
Public Property Speed As Integer
필터 양식에는 국가 이름이있는 CheckListBox가 있으며 국가를 선택하면 필터링 된 결과에 포함되어야합니다. 나는 이것에 대해 갈 수있는 방법을
Dim result = proxies.Where(Function(p) p.Country = "USA" OR p.Country =
"Russia")
하지만 내 쿼리가 동적이기 때문에,에 따라 국가가 사용자 양식에 체크
가, 50가 말됩니다은 내가 하드 LINQ의 likeso을 사용할 수 있습니다 알고 결과에 포함시키려는 국가는 무엇입니까? 나는 PredicateBuilder에 대해 읽었지만 Status 속성에 의해 필터링하고 Status = Valid 또는 Status = Unknown 인 프록시를 포함하고자하는 경우처럼 논리적 OR를 포함하는 예제를 찾지 못했습니까? 나는 사용자가 국가를 선택할 수 있습니다 방법을 알고하지 않기 때문에 내가 SelectedCountries
을 사용했다
Dim countries As String() = SelectedCountries
Dim result = proxies.Where(Function(p) countries.Contains(p.Country))
:
안녕하세요, Tim. 그건 내 질문의 일부를 확실히 해결해 주셔서 고마워요. 동적 OR 구문이 필요한 경우 (예 : Status = Valid 또는 Status = Unknown)는 어떻습니까? 이것은 필터링 양식에있는 다양한 확인란의 사용자 선택에 따라 다릅니다. 당신이 내 질문의 마지막 부분으로 나를 도울 수 있다면 반드시 대답으로 표시 할 것입니다. –
@DavidStampher :보세요 –
@TimSchemlter 정확히 내가 뭘 찾고 있었습니까. 엄청 고마워. (27 초 그리고 나는 대답으로 표시 할 수있다. ..) –