-1

私は次のようなリストを持っています。

List<string> Animallist = new List<string>();
Animallist.Add("cat");
Animallist.Add("dog");
Animallist.Add("lion and the mouse");
Animallist.Add("created the tiger");

入力するテキストボックスがあります

「TIGERを作成したことで神を責めないでください。しかし、それに翼を与えなかったことで神に感謝します」

テキストボックスのどの単語がリストの項目と一致するかを確認し、コンソールにリストを印刷したいと思います。検索では大文字と小文字を区別しない必要があります。つまり、テキストボックスのTIGERは、リストのtigerと一致する必要があります。

上記の例では、「createdthetiger」がコンソールに印刷されます。

4

2 に答える 2

7
var animalFound = Animals
    .Where(a=> a.Equals(searchAnimal, StringComparison.OrdinalIgnoreCase));

または、単語も検索する場合は、次のようにします。

var animalsFound = from a in Animals
             from word in a.Split()
             where word.Equals(searchAnimal, StringComparison.OrdinalIgnoreCase)
             select a;

ああ、今あなたの長いテキストを見ました

string longText = "Do not blame God for having created the TIGER, but thank him for not having given it wings";
string[] words =  longText.Split();
var animalsFound = from a in Animals
             from word in a.Split()
             where words.Contains(word, StringComparer.OrdinalIgnoreCase)
             select a;
于 2012-11-12T20:31:25.273 に答える
4
var text = "Do not blame God for having created the TIGER, but thank him for not having given it wings";
var matched = Animallist.Where(o => text.Contains(o, StringComparer.CurrentCultureIgnoreCase));
foreach (var animal in matched)
    Console.WriteLine(animal);

StringComparerorを指定StringComparisonすると、大文字と小文字を区別しない値を検索できます。ほとんどのStringクラス メソッドは、それらの 1 つをサポートするオーバーロードを提供します。

于 2012-11-12T20:31:52.993 に答える