2017-05-20 13 views
0

私は以下のようにリストをフィルタリングしたいと思います。私はクラスを持っています&私のフィルタ文字列にある値をフィルタリングしたいです。私はforループで自分の結果を達成しましたが、forループなしの方法が必要です。フィルタ一般リスト(コンマ区切り値)

Public Class WorkStationDetails<br><br> 
    Property CountryId As Integer<br> 
    Property CountryName As String<br> 
    Property TotalWrkStn As Integer<br> 
    Property ExistingWrkStn As Integer<br> 
    Property RemainingWrkStn As Integer<br><br> 
End Class 

Dim WrkStnDtl As List(Of WorkStationDetails) 
Dim FilterWrkStnDtl As List(Of WorkStationDetails) 
Dim Numbers As String() 

Numbers = "1,5,6,2,9".Split(",") 

    For i As Integer = 0 To Numbers.Length - 1 
     FilterWrkStnDtl.AddRange(WrkStnDtl.FindAll(Function(p) (p.CountryId = Numbers(i)))) 
    Next 

注:私は、SQL Serverの中にサブクエリのようにそれを達成したいです。

答えて

0

私は10「.Split( 『」)および国の1ので、私は動作しますが、そこにある』私はVAR番号=のように書くことで、

var numbers = "1,5,6,2,9".Split(','); 
var selected = WrkStnDtl.Where(w => numbers.Contains(w.CountryId)).ToList(); 
+0

雅」あなたはこのような何かをしたいと思いますか? – Rajan

+0

はい、それは動作します。二重引用符をコンマの周りのシングルに変更する必要があります。 "10" .Split( '、') –

関連する問題