Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ienumerable,但方法不返回任何差异_C# - Fatal编程技术网

C# ienumerable,但方法不返回任何差异

C# ienumerable,但方法不返回任何差异,c#,C#,这不会返回列表1中的所有元素,var x实际上是一个空列表。根据这一点,它应该返回列表1中的所有元素。为什么不是,我错过了什么 包含两个序列的元素集差的序列 它工作正常:返回list2中不存在于list1中的所有项目。因为list2已经是空的,所以结果列表也是空的 首先查看msdn上的参数说明: 将返回一个IEnumerable,其元素不在秒中 MSDN的措辞可能会令人困惑,但请参考集合论来理解它 包含两个序列元素的集差的序列 集差也被称为A,是“B中的元素集,但不是A中的元素集” 记住这一点,

这不会返回列表1中的所有元素,
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();