这是我尝试获取不同项目列表的方式...

    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/

10-13 08:32