3

に特定の文字列が含まれているList<string>かどうかを確認するにはどうすればよいですか?Listループでこれを行う方法は知っていますが、LINQ /を1行で使用する方法はありますか?

4

4 に答える 4

9
if (lists.Any(sublist => sublist.Contains(str)))
于 2013-03-24T14:19:09.393 に答える
1
var t=lists.SelectMany(f=>f).Contains("str");

完全なサンプル:

var lists = new List<List<string>>();

lists.Add(new List<string>(){"a","b"});
lists.Add(new List<string>(){"b","2"});
lists.Add(new List<string>(){"c","5"});
lists.Add(new List<string>(){"d","7"});

var t=lists.SelectMany(f=>f);

t.Dump();

ここに画像の説明を入力してください

if (t.Contains("k")) 
  Console.WriteLine ("yes") ;
else 
  Console.WriteLine ("no");

結果

no

ps

もちろん-これは次のように短縮できます:

if (lists.SelectMany(f=>f).Contains("k"))...
于 2013-03-24T14:23:18.660 に答える
0

あなたはこれを行うことができます:

bool ifExists = list.Any(x => x.Contains(yourString));
于 2013-03-24T14:22:04.107 に答える
0

リストが並べ替えられて大きい場合、既存の回答に追加するだけで、またはBinarySearchよりも速く生成される可能性があります。ContainsAny

于 2013-03-24T14:23:41.673 に答える