こんにちは。レモンティーです。
今回は、配列やListから要素を重複しないように取り出します。
”無くす”と言ってますが元の配列が書き換わるわけではないです
使うのはDistinctメソッドです。
こんな感じで使うと、重複を取り除いてくれます
var Party = new Human[] { new Human{Name = "たかし",Job = "戦士"}, new Human{Name = "あけみ",Job = "僧侶"}, new Human{Name = "ひろき",Job = "僧侶"}, new Human{Name = "ゆうや",Job = "魔法使い"}, new Human{Name = "さとこ",Job = "パラディン"}, new Human{Name = "としき",Job = "戦士"}, new Human{Name = "けんた",Job = "魔法使い"}, }; var job = Party.Select(x => x.Job) .Distinct() .ToArray(); Console.WriteLine("職業は以下の{0}種類", job.Length); foreach (var j in job) Console.WriteLine("{0}",j);
出力はこうなります
SelectメソッドでJobプロパティだけをとりだして
その後重複を無くとっています。