C# 从列表中获取不同的参数

C# 从列表中获取不同的参数,c#,list,C#,List,我有一个具有以下属性的CarData对象: PrimaryKey制造型号年份传动系国家/地区 我在列表中有大约1000个这样的CarData对象: 列出CarObjects 有没有一种简单的方法可以获得不同的Makes列表 var makes = CarObjects.Select(car => car.Make).Distinct(); 这会将列表从CarData列表转换为Makes列表,然后只查找新列表的不同值 var makeList = CarObjects.Select(a =

我有一个具有以下属性的
CarData
对象:
PrimaryKey
制造
型号
年份
传动系
国家/地区

我在列表中有大约1000个这样的
CarData
对象:
列出CarObjects

有没有一种简单的方法可以获得不同的
Make
s列表

var makes = CarObjects.Select(car => car.Make).Distinct();
这会将列表从
CarData
列表转换为
Make
s列表,然后只查找新列表的不同值

var makeList = CarObjects.Select(a => a.Make).Distinct();

List=CarObjects.Select(a=>a.Make.Distinct().ToList();

作为一个额外的建议,你可能想考虑<代码>使成为枚举,因为有可能(大概)一个有限的(相当小的)可能的汽车制造数量,而不是将它们堆叠成<代码>字符串< /代码>。(您没有提到

make
是什么类型的属性,因此可能您已经在这样做了)。

您可以使用Linq:

CarObjects.Select ( c => c.Make ).Distinct().ToList()

可能重复:@DanielHilgarth对
Distinct
的调用在稍后的编辑中添加。
CarObjects.Select ( c => c.Make ).Distinct().ToList()