我有两个lists.Say
list1 ="a,b,c";
list2="d,a,c";
如何检查list1是否包含list2中的项目。我的意思是如何检查list2是否有
答案 0 :(得分:5)
这些是字符串,而不是列表......
但是你可以这样做(根据评论更新):
List<string> MyIntersectionList =
list1.Split ( ',' )
.Intersect (list2.Split ( ',' ))
.ToList();
因此MyIntersectionList
包含两个字符串中的所有元素......
编辑 - 如果你真的有列表,那么以上变得更容易:
List<string> MyIntersectionList = list1.Intersect (list2).ToList();
答案 1 :(得分:2)
假设您的列表实际上是字符串中的逗号分隔值
您可以使用以下逻辑,即使您有许多元素,性能也会正常:
var list2Members = new HashSet<string>(list2.Split(','));
bool list1ItemsInList2 = list1.Split(',').All(item => list2Members.Contains(item));