LINQ

C# Distinct List of Object

今日在Code Review 同事的Code 時候發現了一個有趣的寫法 他想做的是 Return 一個Distinct 左既 List Of Object 好直接既想法是使用 Distinct List.Distinct(); 之後發現Distinct 是不能 Distinct Object的 同事的寫法是用了 List 加 GroupBy 和Select First() List.GrounBy(x=> x.key).Select(x => x.First()) 之後發現.. 原來我們可以使用 GroupBy 加 First 來做到 Distinct Object的效果 以下是我的 Code Sample void Main() { var list = new List<Example(); list.Add(new Example() {Id=1, Name="Example 1", Comment="Comment 1" }); list.Add(new Example() {Id=1, Name="Example 1", Comment="Comment 1" }); list.Add(new Example() {Id=1, Name="ExamplE 1", Comment="Comment 2"