【发布时间】:2013-01-14 09:55:39
【问题描述】:
我怎样才能通过 lambda 做到这一点?找出两个列表是否具有相同的值。
void Main()
{
var list1 = new List<string>{
"a", "b", "c"
};
var list2 = new List<string>{
"c", "d", "e"
};
bool listsHaveSameValue = false;
foreach(var list1Value in list1){
listsHaveSameValue = list2.Any(c => c.Equals(list1Value));
if(listsHaveSameValue){
break;
}
}
Debug.WriteLine(listsHaveSameValue.ToString());
}
【问题讨论】:
-
您是否试图确定列表是否具有所有相同的值(即相同的列表但允许不同的顺序)? list2 是否具有 list1 的所有值?或者他们是否至少有一项共同点?
-
您要求 lambda 的动机是什么?
-
您当前的代码只检查最后一个值。
-
这7个答案,没有一个对你没有帮助?
-
使用 lambda 表达式的动机是让代码更短,而不需要循环另一个列表。