C#のLinqのメソッド一覧

【C# sharp Linq】ThenBy、ThenByDescendingを使用して、2つ以上の項目をソートする方法

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

今回のテーマ

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

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

今回のテーマ

2つ以上の項目をソートする方法

既にソート方法としてOrderByを紹介しましたが、2つ以上の属性をソートする方法を

書いていなかったので、この記事で書いていきたいと思います。

OrderByについては、下記の記事で解説しているので、ぜひ見てください。

CHECK

【C# sharp Linq】Distinct、OrderBy、OrderByDescendingメソッドを解説します。

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

続きを見る

2つ以上の項目をソートするよ!
サルモリ

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

ThenBy、ThenByDescendingについて

ThenBy

2つ目以降の指定した項目を昇順にソートする。

ThenByDescending

2つ目以降の指定した項目を降順にソートする。

サルモリ
2つ目以降のソートを行いたい時に使用するよ!

Linqメソッドの解説の流れ

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

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

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

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

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

定義するクラスについて

今回、紹介するためのクラスです。GroupByの説明の時と同じものを使用します。

使用するクラス

ThenByの使い方

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

行いたい処理

メーカー、名前の順で昇順に並べたい。

2つの項目を昇順にソートする

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

上記の例のように、OrderByを指定した後にThenByを指定することで、2つ目以降の項目で昇順にソートできます。

次は1つ目、2つ目の項目を降順に並べたソースコードを見てみましょう。

2つの項目を降順にソートする

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

降順に並べ替えるにはThenByDescendingを使用すれば、実現できます。

1つ目の項目を昇順、2つ目の項目を降順にすることも可能です。

1つ目の項目を昇順、2つ目の項目を降順にソートする

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

昇順がThenByということだけ覚えれば、使いこなすことが出来るでしょう。

Linqを使用すれば、ソートも自由自在にできるよ!
サルモリ

まとめ

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

今回のメソッド一覧

  • ThenBy
  • ThenByDescending

今回は、2つ目以降のソート方法について学びました。同じように繋げていけば3つ以降のソートもできます。

結構つかう場面が多いメソッドなので、覚えておきましょう。

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

他の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