に特定の文字列が含まれているList<string>
かどうかを確認するにはどうすればよいですか?List
ループでこれを行う方法は知っていますが、LINQ /を1行で使用する方法はありますか?
質問する
7954 次
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
よりも速く生成される可能性があります。Contains
Any
于 2013-03-24T14:23:41.673 に答える