LINQ 在类项目上不同?

标签 linq distinct anonymous-types

注意这个问题是类似的 this one但我不使用 linq-to-sql,因此“let”不可用。

基本上我有一个类型的选择

... .Select(c => new SampleClass { Id = c.Location.Name, Name = c.Location.Name }).Distinct().ToList()

当我刚有的时候它曾经有用

... .Select(c => c.Location.Name).Distinct().ToList()

我如何对 SampleClass 中的一项进行明确的调用?

最佳答案

您可以按键对项目进行分组,然后从组中选择要用作值的项目。我以 FirstOrDefault 为例:

... .Select(c => new SampleClass { Id = c.Location.Name, Name = c.Location.Name })
    .GroupBy(c => c.Id)
    .Select(group => group.FirstOrDefault())
    .ToList()

关于LINQ 在类项目上不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1930654/

相关文章:

c# - 为什么匿名类型在 C# 中是不可变的?

c# - 从匿名数组访问不同的项目类型

c# - 有没有一种简单的方法可以通过非交换操作进行并行聚合?

python - 如何确定 Django 模型字段中不同值的数量?

c# - 根据列名列表将数据表拆分为多个数据表

带有 AND 和 OR(包含和排除子句)的 HAVING COUNT(DISTINCT) 的 mySql 查询

SQL 保留包含列子集中更改的行

javascript - 使用 Javascript IFFE 获取 Uncaught TypeError 不是一个函数

c# - LINQ:从左连接填充对象

c# - 返回与该项目相关的所有记录都具有特定条件的项目