使用Linq列表时没有获得不同的项目?

Sof*_*ant 3 c# linq

这是我试图获得一个独特的项目列表...

    var queryResults = PatientList.Distinct();
    PatientList = queryResults.ToList<SelectListItem>();
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我在这里没有得到明确的清单.

Gag*_*age 8

使用

var queryResults = PatientList.GroupBy(x=>x.Id).Select(x=>x.FirstOrDefault())
    PatientList = queryResults.ToList<SelectListItem>();
Run Code Online (Sandbox Code Playgroud)

你可以随时试试

 PatientList = PatientList.GroupBy(x=>x.Id).Select(x=>x.FirstOrDefault()).ToList<SelectListItem>();
Run Code Online (Sandbox Code Playgroud)

它将根据您分组的任何内容为您提供截然不同的结果

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

还有一个问题需要参考:用LINQ返回一个独特的IQueryable?