Linq 配列、リスト

C# Dictionaryの使い方を覚えよう2 Linqのメソッド:ToDirectoryの使い方

今回のテーマ

こんばんは、かっぱちゃんです。

今回は下記のテーマについての記事を書いていこうと思います。

今回のテーマ

Dictionaryの使い方について解説2

前回の記事では紹介しきれていないDictionaryの使い方を学んでいきます。前回の記事は下記の記事です。

CHECK

C# Dictionaryの使い方を覚えよう ディクショナリ型でのLinqの使い方も解説

今回のテーマContents1 今回のテーマ2 Dictionaryの初期化方法3 Dictionaryの要素の追加方法4 Dictionaryから要素を取り出す方法5 Dictionaryから要素を ...

続きを見る

今回もDictionaryについて学ぶよ!
KappaChan

他のLinqの記事についてはこちら

配列、リストなどの記事はこちら

合わせて読みたいC# Linqを勉強するならこれだけは読んでほしいオススメの本3選 オススメの参考書

C#を勉強するためのオススメの本を紹介Contents1 C#を勉強するためのオススメの本を紹介1.1 C#の基礎を学ぶなら「やさしいC#」1.2 C#の全体像を学ぶなら「独習C#」1.3 C#をさら ...

続きを見る

使用するクラス

使い方を紹介する上でクラスの定義が必要なので、今回は下記のクラスを使用します。何回か使用したことがあるロボットクラスです。

使用するクラスの定義

Dictionaryに定義したクラスのオブジェクトを格納する

早速、上記のクラスをDictionaryに格納してみましょう。

今回はKeyをロボットコードとして、要素をロボットオブジェクトとして生成し、格納してみました。

Dictionaryからクラスで定義したオブジェクトを取り出す方法

クラスで定義したオブジェクトを取り出してみましょう。

クラスで定義したロボット名を出力

 result
0001:Rockman
0002:Roll
0003:Airman
0004:Quickman
0005:Iceman
0006:FIreman

今回の例では、キーの値と要素の中のロボット名を出力しています。

DictionaryでLinqを使用した例 OrderbyとGroupby

クラスで定義したオブジェクトに対して、Linqを使用してみましょう。

やりたい処理

強さ順に並べ替えたDictionaryを作成したい。

クラスで定義したロボット名を出力

 result
0001:Rockman:5
0004:Quickman:5
0005:Iceman:4
0006:FIreman:4
0003:Airman:3
0002:Roll:1

強さ順に並べ替えができました。

もう一つ、色でグループ分けしたDictionaryを作成してみましょう。

やりたい処理

色でグループ分けしたDictionaryを作成したい。

クラスで定義したロボット名を出力

 result
0001:Rockman:Blue
0003:Airman:Blue
0005:Iceman:Blue
------------------------
0002:Roll:Pink
------------------------
0004:Quickman:Red
0006:FIreman:Red
------------------------

色でグループ分けをすることができましたね。

配列、リストなどの記事はこちら

Linqを使用してリストからDictionary型への変換

最後にリストからDictionaryへの変換について解説します。

まず、下記のようにロボットのリストを作ってみました。

ロボットリスト

 result
Rockman
Roll
Airman
Quickman
Iceman
Fireman

上記のリストをLinqを使用してDictionary型に変換してみます。

ロボットリストをロボットDictionaryに変換

 result
Icemancolor = Blue
-------------------------------
Rockman:Blue:Dr Light
Roll:Pink:Dr Light
Airman:Blue:Dr Wily
Quickman:Red:Dr Wily
Iceman:Blue:Dr Wily
Fireman:Red:Dr Wily

上記のToDirectory内で何をしているか解説すると、キーをロボット名で定義しています。

なので、Directoryのキーをロボット名で指定すると対応した値を取り出すことが可能です。

下記の疑問についてもお答えします。

そもそもリストをDictionaryにする必要あるの?

仕事でプログラミングをしていた時、使う場面は結構あります。どの場面で使ったかというと、性能改善の時です。

Dictionary型にすると、キーを指定することで一発で要素の取得が出来るのでその特性を活かして、性能改善をすることができます。

KappaChan
キーを直接指定して要素を取り出せるのがDictionaryの強みだよ!

まとめ

今回もDictionary型について解説しました。最後のかっぱちゃんが言ってることがとても重要です。

開発では、配列、リストをメインに使うことが多いと思いますが、その時の課題に応じて、Dictionaryを使用することも視野にいれましょう。

今回の2記事でDictionaryを使いこなすことが出来ると思うので、何回も見直してぜひ覚えてください。

最後まで見て頂きありがとうございました。

KappaChan
最後までみてくれてありがとう!

他のLinqの記事についてはこちら

-Linq, 配列、リスト

X