0

文字列のリストを取得しました。内部を検索して新しいリストを返したいのですが。検索値は文字列(文)です。各単語はスペースで区切られます。

そこで、文の各単語を含む各文字列を検索する方法を検討します。

サンプル :

list = {"abcdef", "abc", "ab", "cd ab"}

search "ab" => return list with "abcdef", "abc", "ab", "cd ab"
search "abc" => return list with "abcdef", "abc"
search "ab cd" => return list with "abcdef","cd ab"

単純ですが、1つのコマンドでLinqを使用してそれを行う方法がわかりません。何かのようなもの

if l.contains(list) 

ここで、リストのすべての要素をチェックします。

それは簡単かもしれません、私はただ方法を尋ねます。または、私が見たことのない別の投稿へのリンクかもしれません。

ありがとうございました

4

2 に答える 2

1
if (list.Any(w => w.Contains(something))
于 2012-06-05T14:12:57.103 に答える
0

トリッキーなのは、「abcd」の最後のケースです。

var list = new List<string> {"abcdef", "abc", "ab", "cd ab"};
var result = list.Where (w => "ab cd".Split().All (s => w.Contains(s)));

ここをクリックして、概説したすべてのケースをキャッチするという証拠を確認してください。

于 2012-06-05T14:43:18.467 に答える