Linq 配列、リスト

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

このブログではAffinger5を使用しています。

ブログテーマが気に入った方はコチラをクリック

今回のテーマ

こんばんは、サルモリです。

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

今回のテーマ

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

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

CHECK

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

このブログではAffinger5を使用しています。ブログテーマが気に入った方はコチラをクリック 今回のテーマ こんばんは、サルモリです。 今回は下記のテーマについての記事を書いていこうと思います。 今 ...

続きを見る

今回もDictionaryについて学ぶよ!
サルモリ

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

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

使用するクラス

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

使用するクラスの定義

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

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

まとめ

今回もDictionary型について解説しました。最後のサルモリが言ってることがとても重要です。

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

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

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

サルモリ
最後までみてくれてありがとう!

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

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

C#のLinqをさらに学びたい方へ

C#のLinqを理解して頂くために参考書を執筆致しました!

Linqの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!

下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!

⇩初心者向け      ⇩中級者向け

C#でChatGPTAPIを使ってブログ作成を自動化しませんか?

-Linq, 配列、リスト

Ads Blocker Image Powered by Code Help Pro

広告ブロックを検出しました。

ブラウザの広告機能を使用して広告をブロックしていることが検出されました。
ブラウザの広告ブロッカーを無効にし、「更新」をクリックしてください。

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock