为什么IEnumerable.Except方法不返回任何元素?

时间:2012-03-02 15:20:38

标签: c#

我正在生成两个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是)

1 个答案:

答案 0 :(得分:0)

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

您可以将最后一行更改为

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

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