【问题标题】:Get distinct parameters from a List [duplicate]从列表中获取不同的参数[重复]
【发布时间】:2013-01-30 10:55:30
【问题描述】:

我有一个 CarData 具有以下属性的对象:
PrimaryKey Make Model Year Drivetrain Country

我在列表中有大约 1000 个 CarData 对象:
List<CarData> CarObjects

有没有一种简单的方法来获取不同Makes 的列表?

【问题讨论】:

标签: c# list


【解决方案1】:
var makes = CarObjects.Select(car => car.Make).Distinct();

这会将列表从CarData 列表转换为Makes 列表,然后只找到新列表的不同值。

【讨论】:

    【解决方案2】:
    var makeList = CarObjects.Select(a => a.Make).Distinct();
    

    或者

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

    作为一个额外的建议,您可能需要考虑将 Make 设为枚举,因为(可能)存在有限(且相当少)数量的可能汽车品牌,而不是将它们堆积到 @987654324 @。 (你没有提到 Make 是什么类型的属性,所以也许你已经在这样做了)。

    【讨论】:

    • @DanielHilgarth 对Distinct 的调用已在稍后的编辑中添加。
    【解决方案3】:

    你可以使用 Linq:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-03
      • 2017-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      相关资源
      最近更新 更多