linqを使用して効率的な検索を作成しようとしています
ユーザーが検索キーワード (または最初の数文字) を入力すると、それが配列に解析されます。
最初の部分では、すべての単語が見つかった検索フィールドのインスタンスを見つけたいと思います。(後で、私は何かを検索しますが、その部分は機能しています)
string[] arSearchString = searchString.Split(',', ' ', ';');
var codes = from c in CodeList
where arSearchString.All(val => c.Description.StartsWith(val) ||
c.Description.Contains(" " + val))
select c;
これは何も返しません。
私がやりたいことは、配列内のすべての単語が説明フィールド内にあるアイテムを返すことです。たとえば、「cat dog」と入力した場合、次のようなものが返されます。
"A Cat and a Dog"
"Dogs and Cats"
"Catatonic Dogma"
ただし、キーの 1 つだけに一致するアイテムは除きます (例: 「My Life as a Dog」)。
誰かが私が間違っていることを見つけたり、解決策を提供したりできますか?