2017-07-05 3 views
-3

人これは素朴な質問かもしれないが、私は尋ねなければならない。 は、私は今、私は「のparagrah」の「lstPets」のいずれかが発生するかどうかを見つけるために、LINQクエリを記述する必要があり、文字列の配列 List<string> lstPets = new List<string> { "dog", "cat","horse","parrot" };LinqクエリC#(複数の文字列配列)

と文字列

string paragraph = "This is a test script to test whether a dog exists or not";

を持っています。

ありがとうございます。 :)

+4

あなたがこれまでに試してみましたか? –

+0

1行の回答を確認してください。bool obj = lstPets.Any(row => paragraph.Contains(row)); –

+0

bool obj = lstPets.Any(row => paragraph.Split( '').Contains(row));複数のスペースを1つのスペースに取り除くロジックを適用してください。人々はただの楽しみのためにここに来ました。 –

答えて

4
var lstPets = new List<string> { "dog", "cat","horse","parrot" }; 

string paragraph = "This is a test script to test whether a dog exists or not"; 

var containsAny = lstPets.Any(paragraph.Contains); 

または多分より寛容:

var containsAny = lstPets.Any(pet => paragraph.Contains(pet, StringComparison.OrdinalIgnoreCase)); 
+0

Thanks #nvoigt ....私の日を節約します。歓声:) –

0
var sentenceQuery = from item in paragraph 
         let w = item .Split(new char[] { '.', '?', '!', ' ', ';', ':', ',' },           StringSplitOptions.RemoveEmptyEntries) 
         where w.Distinct().Intersect(IsPets).Count() == IsPets.Count() 
         select item ;   
    foreach (string str in sentenceQuery) 
    { 
     Console.WriteLine(str); 
    } 
+0

あなたは確かthats C#の構文コード...確かにこれは動作していないため –

0

てみコード

var countres = lstPets.Where(c => paragraph.Contains(c)).ToList().Count() > 0 ? true : false;