在List <string> </string>中查找以逗号分隔的字符串

时间:2014-12-10 12:50:51

标签: c# .net linq

我有一个字符串列表,我有一个逗号分隔的字符串。

我想做点什么:

StringList.Contains(CommaSeparatedStrings); 

例如,我有一个列表:

StringList.Add(Admin);
StringList.Add(Nurse);
StringList.Add(Cook);

CommaSeparatedStrings = "Admin,Nurse";

所以上面提到的函数应该返回true。

2 个答案:

答案 0 :(得分:5)

您必须使用String.Split来获取可以使用的集合:

bool containsAny = StringList.Intersect(CommaSeparatedStrings.Split(',')).Any();

如果您想知道所有项目(不仅仅是至少一项)是否包含在内:

bool containsAll = !CommaSeparatedStrings.Split(',').Except(StringList).Any();

Enumerable.All似乎是最易读的方式:

bool containsAll = CommaSeparatedStrings.Split(',').All(StringList.Contains);

答案 1 :(得分:1)

检查CommaSeperatedStrings是否已拆分 - StringList是否包含任何值

bool contains = !CommaSeperatedStrings.Split(',').Except(StringList).Any()