C#のLinqのメソッド一覧

【C# sharp Linq】GroupByを使ってグループ化しよう。

ChatGPTのAPIを使わずに自動化することが可能です。
下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。

今回のテーマ

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

今回もLinqのメソッドを紹介してきます。今回紹介するメソッドは下記です。

今回のテーマ

Linqのメソッド、GroupByの使い方。

今回はGroupByメソッドについて解説します。

GroupByメソッドを紹介するためにクラスを定義してLinqメソッドを扱う記事を先に紹介しました。

よければ、下記の記事も見てください。下記はSelectメソッドの使い方です。

CHECK

【C# sharp Linq】クラスを定義してSelectメソッドを使おう。

ChatGPTのAPIを使わずに自動化することが可能です。 下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。 今回のテーマ ...

続きを見る

今回はGroupByついて解説するよ!
サルモリ

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

GroupByについて

GroupBy

指定した要素においてグループ化を行う。

サルモリ
GroupByの使い方はイメージしにくいので具体的に解説するよ!

Linqメソッドの解説の流れ

下記の流れで説明したいと思います。

行いたい処理の例を書きます。

Linqを使用するソースコードを書いていきます。

ソースコードには、リストを使います。

サルモリ
今回はLinqを使用しない例は長くなるので書かないよ!

定義するクラスについて

今回、説明する上で使用するクラスです。前回の記事で使ったものにメーカーを追加しました。

使用するクラス

GroupByの使い方

GroupByの使い方について、例を書いていきます。今回行いたい処理です。

行いたい処理

メーカーで別々のリストを作りたい。

メーカーでグループ分け

 result
Maker:Dr Light Name:Rockman
Maker:Dr Light Name:Roll
-------------------------------
Maker:Dr Wily Name:Fireman
Maker:Dr Wily Name:Iceman
Maker:Dr Wily Name:Elecman
Maker:Dr Wily Name:Airman
Maker:Dr Wily Name:Woodman
-------------------------------

上記のようなソースコードを書きました。GroupByによって、

ライト博士のロボットリストとワイリー博士のロボットリストが作成されてます。

指定した属性の値が一致している者同士でリストが作成されます。

リスト内にリストがあるイメージでいいよ!
サルモリ

別の属性も指定して見ましょう。今度はメーカーでなく色で指定してみます。

色でグループ分け

 result
Color:Blue Name:Rockman
Color:Blue Name:Iceman
Color:Blue Name:Airman
-------------------------------
Color:Red Name:Fireman
-------------------------------
Color:Yellow Name:Elecman
-------------------------------
Color:Pink Name:Roll
-------------------------------
Color:Green Name:Woodman
-------------------------------

上記のようにグループ分けされたと思います。

今回の色の指定だと5つリストが作成されていることになりますね。

青のリストだけほしいんだけど・・・。って場合はWhere句を使いましょう。

2つ以上指定する方法

今回はさらに2つ以上指定する場合もやってみましょう。色とメーカーで分けます。

色とメーカーでグループ分け

 result
Maker:Dr LightColor:Blue Name:Rockman
-------------------------------
Maker:Dr WilyColor:Red Name:Fireman
-------------------------------
Maker:Dr WilyColor:Blue Name:Iceman
Maker:Dr WilyColor:Blue Name:Airman
-------------------------------
Maker:Dr WilyColor:Yellow Name:Elecman
-------------------------------
Maker:Dr LightColor:Pink Name:Roll
-------------------------------
Maker:Dr WilyColor:Green Name:Woodman
-------------------------------

あまり、必要のないリストですね・・・。二つ指定したい時はSelectと同じくNewで二つ指定すれば大丈夫です。

サルモリ
よく使うメソッドなので、覚えると便利だよ!

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

まとめ

今回もLinqメソッドの紹介記事でした。今回の取り上げたメソッドを下記に纏めます。

今回のメソッド一覧

  • GroupBy

今回はGroupByについて解説しました。各属性でリストを分けたい時にすぐに実現できるのでとても便利です。

この機会に覚えてください。紹介しようとしてたLinqメソッドはあとわずかなので、頑張って記事書いていきます!

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

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

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

 

-C#のLinqのメソッド一覧

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock