分類:[C#]
コレクションに、含まれるデータが全て同一であるかどうかを判定したいです。
処理速度を考えると、別の値が現れた時点で、「全て同一とはなっていない」と返したいです。
これを実現するには、どのようにLINQを使用するのがよさげですか?
listがコレクションだとして...
list.Distinct().Count() == 1
は直感的ではありますが、全件検索と思われ遅そう(ソートも走る?)。
list.All(x => x == list.FirstOrDefault())
がいいのかなと思いますが、もっといい案とかありますかねぇ?
|