为什么不';t ToList()按预期工作

本文关键字:工作 ToList 为什么不 | 更新日期: 2024-06-14 05:07:57

我有两个进程列表,我想得到它们的名称列表
下面的尝试失败了,我不知道为什么
通常任何列表都有一个Except方法,可以用来获取两个列表之间的差异,我试图使用Except()获取一个名称列表,看看它们之间是否有任何差异。

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

我正在尝试以列表的形式获得新流程,以便我可以继续我的下一个意图。

有人能告诉我这里缺了什么吗?

为什么不';t ToList()按预期工作

您需要添加.ToList()

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

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