为什么ToList()不按预期工作?

时间:2013-11-30 19:33:12

标签: c# winforms

我有两个流程列表,我想得到一个他们的名字列表 以下尝试失败,我不知道为什么!?
通常任何列表都有一个Except方法,可用于获取两个列表之间的差异,我试图获取一个名称列表,并查看它们之间是否存在使用Except()的任何差异。

var t = latesProcessList
    .Select(p=>p.ProcessName)
    .ToList()
    .Except(
        snapShotList.Select(q=>q.ProcessName).ToList() );

我试图以列表的形式获取新进程,以便我可以继续我的下一个意图。

有人可以告诉我这里缺少什么吗?

2 个答案:

答案 0 :(得分:1)

您需要添加.ToList()

var t = latesProcessList
.Select(p=>p.ProcessName)
.Except(snapShotList.Select(q=>q.ProcessName))
.ToList();

答案 1 :(得分:0)

A.Except( B )将返回A中不在B内的项目。您需要通过调用B.Except( A )来结合结果,以获取包含在一个列表中而不包含在另一个列表中的所有项目。