为什么IEnumerable.Except方法没有';t返回任何元素

本文关键字:返回 任何 元素 Except IEnumerable 方法 为什么 | 更新日期: 2023-09-27 18:26:23

我正在生成两个IEnumerable<int>对象:

var listA = model.SelectedFormats.Select(a => a.ID); //values: 1,2,4
var listB = basket.OrderPosition.Select(x => x.BookFormatTypeID); //values: 1,4

var result = listA.Except(listB);

但我看不到Except方法的任何结果(编译器甚至没有显示result是)

为什么IEnumerable.Except方法没有';t返回任何元素

IEnumerable.Except()不直接返回元素,它返回一个IEnumerable,您可以访问它来迭代结果。

您可以将最后一行更改为

#if DEBUG
    List<myResultType> result = new List<myResultType>(listA.Except(listB));
#else
    var result = listA.Except(listB);
#endif

这将自动迭代元素并将它们添加到列表中,从而允许您检查结果。