c# - 使用 Linq to List 时没有得到不同的项目?

标签 c# linq

以下是我如何尝试获取不同的项目列表...

    var queryResults = PatientList.Distinct();
    PatientList = queryResults.ToList<SelectListItem>();

出于某种原因,我在这里没有得到一个明确的列表。

最佳答案

使用

var queryResults = PatientList.GroupBy(x=>x.Id).Select(x=>x.FirstOrDefault())
    PatientList = queryResults.ToList<SelectListItem>();

你可以随时尝试

 PatientList = PatientList.GroupBy(x=>x.Id).Select(x=>x.FirstOrDefault()).ToList<SelectListItem>();

它会根据您分组的内容为您提供不同的结果

查看 http://blog.jordanterrell.com/post/LINQ-Distinct()-does-not-work-as-expected.aspx

还有一个问题供引用:Returning a Distinct IQueryable with LINQ?

关于c# - 使用 Linq to List 时没有得到不同的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7257085/

相关文章:

c# - 替换字符串数组中的重复项

c# - 需要一种高效的方法来从列表中返回所有重复项

c# - 从列表中过滤重复项

C# Entity Framework .ToList() 但 CA1002 : Use Collection

c# - 查找鼠标指针所在的监视器/屏幕

c# - 如何将参数值传递给 SqlDataSource

c# - "(item) =>"是做什么的?

c# - .NET Async 中的可伸缩性与响应能力

c# - Linq 类别和子类别

c# - 包含路径表达式必须引用 type.in 预加载中定义的导航属性