2017-03-17 11 views
-5

私は文章のリストを持っています。私は特定の言葉で別のリストを持っています。文章の下に少なくとも1つの単語があれば、リストから文章が欲しい。その文を選択して変数に格納する必要があります。リスト<string>に別のリストの要素が含まれているかどうかを確認してください<string>

List<string> features = new List<string>(new string[] { "battery", "screen", "audio" }); 
+0

にあなたは何を試してみましたでしょうか? –

+0

はいネストされたループを使用して行っています。私はより良い方法を探しています – kirushan

+0

あなたが何か試したことを知っているので、私たちはあなたのためにコードを書くことを期待していないので、 –

答えて

2

のLINQ Anyこの

List<string> features = new List<string>(){ "battery", "screen", "audio" }; 
List<string> sentences = new List<string>() { "this is a new screen", "i need a new battery", "there is no foo in my bar" }; 
List<string> result = sentences.Where(x => features.Any(y => x.Contains(y))).ToList(); 
+0

この条件は "ineedanewbattery"に対してtrueを返します –

+0

OPが有効ではないと定義されている場合、OPが十分に明確でない – fubo

-1

linqを使用できます。 Contains

List<string> features = new List<string>(new string[] { "battery", "screen", "audio" }); 
// or simpler 
//List<string> features = new List<string>{ "battery", "screen", "audio" }; 

List<string> listOfLines = GetAllLinesHereInList(); 
var filteredLines = listOfLines.Where(ln=>features.Any(f=>ln.IndexOf(f) > -1)); 
関連する問題