我有以下列表和查询表达式来获取不同的列表。

 List<LinqTest> myList = new List<LinqTest>();
 myList.Add(new LinqTest() { id = 1, value = "a" });
 myList.Add(new LinqTest() { id = 1, value = "b" });
 myList.Add(new LinqTest() { id = 2, value = "c" });
 myList.Select(m => new { m.id}).Distinct().ToList();

我已经引用了以下 SO 链接 link 的代码。即使在使用 distinct() 之后,我也会得到 3 条具有重复值的记录。
可能是什么原因?

最佳答案

您在调试时看到的 3 条记录是您现有的列表。我认为你错过的只是一项任务。

List<LinqTest> myList = new List<LinqTest>();
myList.Add(new LinqTest() { id = 1, value = "a" });
myList.Add(new LinqTest() { id = 1, value = "b" });
myList.Add(new LinqTest() { id = 2, value = "c" });
// not sure why new {m.id} was used in this context
List<int> distinctList = myList.Select(m => m.id).Distinct().ToList();

关于c# - 在 LINQ-C# 中不同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44253528/

10-12 21:56