動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About
C#

罠:参照型のリストでDistinctは動かない

出典: C# でリストの重複を一意にする3つの書き方(Distinct / GroupBy / HashSet)パターン1: Distinct ──単純な重複を1行で潰す / 罠:参照型のリストでDistinctは動かない

罠:参照型のリストでDistinctは動かない (csharp)#45edb7bbd5f0
public class Customer
{
    public int Id { get; set; }
    public string Name { get; set; }
}
 
var customers = new List<Customer>
{
    new Customer { Id = 1, Name = "田中" },
    new Customer { Id = 1, Name = "田中" },  //同じ内容
    new Customer { Id = 2, Name = "山田" },
};
 
var unique = customers.Distinct().ToList();
Console.WriteLine(unique.Count);
//期待: 2
//実際: 3 ←重複が消えていない
▸ 実行ボタンで結果を表示
  • id: #45edb7bbd5f0
  • lines: 17
  • extracted: 2026-06-10
  • captured: 2026-06-04

Source収録記事

この snippet は記事の「パターン1: Distinct ──単純な重複を1行で潰す / 罠:参照型のリストでDistinctは動かない」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

10
図鑑トップ