C#の『Distinct』の使い方が分からない…教えてください!
C#を学んでいるけど…
「Distinctの使い方が分からない」
このような疑問を持っていませんか?
この記事では、LINQのひとつである『Distinct』について現役エンジニアが分かりやすく解説します。
まだ、C#の開発環境構築が出来ていない方はこちらを参考にしてください。
Distinctの使い方
Distinctの使い方を解説する前に、Distinctで何が出来るのかを把握しておきましょう。
Distinct = リストから値を重複なく抽出
このような考え方で問題ありません。Distinctを使用すると指定した配列(リスト)から重複なく値を抽出します。
それでは、実際のコードを用いながらDistinctの使い方を解説していきます。
まずは、Distinctの使い方から説明します。Distinctを使うときには以下のように記述します。
配列.Distinct()
実際のコードを用いながらDistinctの使い方を解説していきます。
Distinctを使ってシーケンスを出力するときには以下のように記述します。
using System;
using System.Collections.Generic;
using System.Linq;
namespace sample
{
class LinqDistinct
{
static public void BlogLinqDistinct()
{
// 値一覧を変数NumberListとして宣言・初期化
int[] NumberList = new int[] {1, 1, 1, 2, 2, 3, 4, 5, 5, 4};
// Distinctの実行結果を出力
Console.WriteLine($"Distinct適用後のリストの値");
Console.WriteLine("{0}", string.Join(", ", NumberList.Distinct()));
}
}
}
サンプルコードを実行した際の出力結果は、以下のようになります。
Distinct適用後のリストの値
1, 2, 3, 4, 5
注目していただきたいのは、Distinctを適用した後のリストの値に重複が無いことです。
配列.Distinct()
これを基にサンプルコードを解説すると、「配列 = NumberList」となります。
つまり、配列(NumberList)にDistinctを適用した結果を出力(Console.WriteLine)するということです。
このようにして、C#ではDistinctを使用することで、配列(リスト)の型変換をするコードを簡潔に書くことが出来ます。
【まとめ】Distinctは全要素から重複を解消する
Distinctの使い方は理解できましたか?
この記事では、C#のDistinctの使い方について紹介しました。
最後になりますが、ここに関してもっと詳しく教えて欲しいときなどは、遠慮なく、お問い合わせ、コメント、Twitterにてご連絡ください。
最後までお読みいただきありがとうございました。