C# ienumerable,但方法不返回任何差异
这不会返回列表1中的所有元素,C# ienumerable,但方法不返回任何差异,c#,C#,这不会返回列表1中的所有元素,var x实际上是一个空列表。根据这一点,它应该返回列表1中的所有元素。为什么不是,我错过了什么 包含两个序列的元素集差的序列 它工作正常:返回list2中不存在于list1中的所有项目。因为list2已经是空的,所以结果列表也是空的 首先查看msdn上的参数说明: 将返回一个IEnumerable,其元素不在秒中 MSDN的措辞可能会令人困惑,但请参考集合论来理解它 包含两个序列元素的集差的序列 集差也被称为A,是“B中的元素集,但不是A中的元素集” 记住这一点,
var x
实际上是一个空列表。根据这一点,它应该返回列表1中的所有元素。为什么不是,我错过了什么
包含两个序列的元素集差的序列
它工作正常:返回
list2
中不存在于list1
中的所有项目。因为list2
已经是空的,所以结果列表也是空的
首先查看msdn上的参数说明:
将返回一个IEnumerable
,其元素不在秒中
MSDN的措辞可能会令人困惑,但请参考集合论来理解它
包含两个序列元素的集差的序列
集差也被称为A,是“B中的元素集,但不是A中的元素集”
记住这一点,空数组。除了
之外,任何东西都是空数组。您可能需要
var list1 = new[] { 1, 2, 3, 4, 5 };
var list2 = new int[] { };
var x = list2.Except(list1).ToList();
既然你提到你在期待
应该返回列表1中的所有元素
请参阅,您可以翻译可枚举。如果您不确定它是如何工作的,除了带的
“不带列表1的列表2”
之外。也许您正在寻找替代方法…因为列表2没有元素,它不应该返回列表1中的所有元素吗?根据你的意见?如果qouteNo出错,它将返回第一个中的所有项目,但第二个中的项目除外。
var list1 = new[] { 1, 2, 3, 4, 5 };
var list2 = new int[] { };
var x = list2.Union(list1).ToList();