我有一个C#应用程序,它加载名为“任务”的CLR对象列表。每个任务具有以下属性:

public int ID { get; set; }
public int TypeID { get; set; }
public string TypeName { get; set; }
public string Name { get; set; }


我试图在此列表中找到任务的唯一类型。我以为我会尝试使用LINQ来做到这一点。但是,我不知道该怎么做。我怎么说给我这个列表中所有唯一的TypeID和TypeName?目前,我正在尝试以下操作,这使我无处可去。实际上,它甚至可以编译。

var uniqueTasks = allTasks.Distinct(p => p.TypeID);


谢谢,

最佳答案

让我确保我理解问题所在:您有一个称为allTask​​s的任务序列,并且您想要一个序列而不包含所有id的重复项,对吗?

将任务序列转换为ID序列:

var ids = allTasks.Select(p=>p.TypeId);


现在,您有一个ID序列。您希望从该序列中过滤出重复项:

var distinctIds = ids.Distinct();


这样就完成了。那是你的追求吗?

10-07 19:46
查看更多