C#のLinqのメソッド一覧

【C# sharp linq】ポケモンで学ぶLinqメソッド

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

今回のテーマ

こんばんは、サルモリです!今回はポケモンクラスを作成して、Linqのメソッドを沢山使っていく記事です!!

クラス、リスト、タプル、Linqの使い方などをポケモンを使って、楽しく使い方を覚えていきましょう!

何回も見直してLinqメソッドの処理の動きを覚えちゃってください!!

Linqの解説などは別の記事でしているので、この記事では淡々とLinqメソッドを使うソースコードと処理結果を記述していきます。

ぼんやりと眺めているだけでも、効果があると思うので、楽しんでソースコードを考えてみてくださいね!!

勿論コピペをして、動作確認しても構いません!!

それではソースコードを見ていきましょう!!

Linqの記事一覧はこちら

今回使用するポケモンクラスについて

今回使用するポケモンクラスです。ポケモンクラスについて簡単に説明。

ポケモンクラスの属性はstring型で名前、タイプ1、タイプ2、タプル型で種族値を持っています。

各属性に対し、getterのプロパティを持っています。

眺めてソースコードをみてもらうことを目的としているので、日本語の変数名にしています!

このポケモンクラスを使ってLinqメソッドをどんどん使っていきましょう!!

ポケモンの名前のみ出力(Selectメソッド)

LinqのSelectメソッドを使用して、1つの属性のみ出力する方法です。

 出力結果
フシギバナ
リザードン
カメックス
ライチュウ
カイリキー
ウツボット
ドククラゲ
ゲンガー
スターミー
シャワーズ
サンダース
ブースター

Selectメソッドの動きについてはこちら【C# sharp Linq】Selectメソッド、Whereメソッドを解説します。

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

続きを見る

ポケモンの名前、タイプ1、タイプ2を出力(Selectメソッド)

LinqのSelectメソッドを使用して、複数の属性を出力する方法です。

 出力結果
名前:フシギバナ タイプ1:どく タイプ2:くさ
名前:リザードン タイプ1:ほのお タイプ2:ひこう
名前:カメックス タイプ1:みず タイプ2:
名前:ライチュウ タイプ1:でんき タイプ2:
名前:カイリキー タイプ1:かくとう タイプ2:
名前:ウツボット タイプ1:くさ タイプ2:どく
名前:ドククラゲ タイプ1:みず タイプ2:どく
名前:ゲンガー タイプ1:ゴースト タイプ2:どく
名前:スターミー タイプ1:みず タイプ2:エスパー
名前:シャワーズ タイプ1:みず タイプ2:
名前:サンダース タイプ1:でんき タイプ2:
名前:ブースター タイプ1:ほのお タイプ2:

ポケモンの名前、タイプ1、タイプ2を出力(Selectメソッド、タプル)

LinqのSelectメソッドを使用して、複数の属性を出力する方法です。今回はタプルを使用した方法です。

 出力結果
名前:フシギバナ タイプ1:どく タイプ2:くさ
名前:リザードン タイプ1:ほのお タイプ2:ひこう
名前:カメックス タイプ1:みず タイプ2:
名前:ライチュウ タイプ1:でんき タイプ2:
名前:カイリキー タイプ1:かくとう タイプ2:
名前:ウツボット タイプ1:くさ タイプ2:どく
名前:ドククラゲ タイプ1:みず タイプ2:どく
名前:ゲンガー タイプ1:ゴースト タイプ2:どく
名前:スターミー タイプ1:みず タイプ2:エスパー
名前:シャワーズ タイプ1:みず タイプ2:
名前:サンダース タイプ1:でんき タイプ2:
名前:ブースター タイプ1:ほのお タイプ2:

こうげきが100以上のポケモンのみ出力(Selectメソッド、Whereメソッド)

Whereメソッドを使用して、100以上のポケモンを抽出しています。こうげきは種族値のタプル内に含まれているので、種族値.こうげきと指定しています。

 出力結果
名前:カイリキー
名前:ウツボット
名前:ブースター

Whereメソッドの動きについてはこちら【C# sharp Linq】Selectメソッド、Whereメソッドを解説します。

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

続きを見る

こうげきが100以上かつぼうぎょが80以上のポケモンのみ出力(Selectメソッド、Whereメソッド)

Whereメソッド内で複数条件を指定します。if文を使用した要領で出来るので使いやすいと思います。

 出力結果
名前:カイリキー

単タイプのポケモンのみ出力(Selectメソッド、Whereメソッド)

単タイプのポケモンを出力するためにはWhereメソッドでタイプ2がnullであるポケモンを条件とします。

 出力結果
名前:カメックス
名前:ライチュウ
名前:カイリキー
名前:シャワーズ
名前:サンダース
名前:ブースター

名前にーがついているポケモンのみ出力(Selectメソッド、Whereメソッド)

Whereメソッド内でContainsメソッドを使用します。WhereメソッドとContainsメソッドは比較的セットで使う場面が多いです。

 出力結果
名前:リザードン
名前:カイリキー
名前:ゲンガー
名前:スターミー
名前:シャワーズ
名前:サンダース
名前:ブースター

最後がーで終わるポケモンのみ出力(Selectメソッド、Whereメソッド)

最後の文字列を指定したい場合は、Whereメソッド内でEndsWithメソッドを使用します。

 出力結果
名前:カイリキー
名前:ゲンガー
名前:スターミー
名前:ブースター

すばやさが早い順に並び替えてポケモン名を出力する。(Selectメソッド、OrderByDescendingメソッド)

降順に並べる場合はOrderByDescendingメソッドを使用します。

 出力結果
名前:サンダース
名前:スターミー
名前:ライチュウ
名前:ゲンガー
名前:リザードン
名前:ドククラゲ
名前:フシギバナ
名前:カメックス
名前:ウツボット
名前:シャワーズ
名前:ブースター
名前:カイリキー

すばやさが遅い順に並び替えてポケモン名を出力する。(Selectメソッド、OrderByメソッド)

昇順に並べる場合はOrderByDescendingメソッドを使用します。

 出力結果
名前:カイリキー
名前:シャワーズ
名前:ブースター
名前:ウツボット
名前:カメックス
名前:フシギバナ
名前:リザードン
名前:ドククラゲ
名前:ライチュウ
名前:ゲンガー
名前:スターミー
名前:サンダース

すばやさが早い順、ぼうぎょが高い順に並び替えてポケモン名、すばやさ、ぼうぎょを出力する。(Selectメソッド、OrderByDescendingメソッド、ThenByDescendingメソッド)

複数項目で並び替えを行う場合はOrderByメソッドの後にThenByDescendingメソッドを指定します。

 出力結果
名前:サンダース すばやさ:130 ぼうぎょ:60
名前:スターミー すばやさ:115 ぼうぎょ:85
名前:ゲンガー すばやさ:110 ぼうぎょ:60
名前:ライチュウ すばやさ:110 ぼうぎょ:55
名前:リザードン すばやさ:100 ぼうぎょ:78
名前:ドククラゲ すばやさ:100 ぼうぎょ:65
名前:フシギバナ すばやさ:80 ぼうぎょ:83
名前:カメックス すばやさ:78 ぼうぎょ:100
名前:ウツボット すばやさ:70 ぼうぎょ:65
名前:シャワーズ すばやさ:65 ぼうぎょ:60
名前:ブースター すばやさ:65 ぼうぎょ:60
名前:カイリキー すばやさ:55 ぼうぎょ:80

ThenByについて詳しく知りたい方はこちら【C# sharp Linq】ThenBy、ThenByDescendingを使用して、2つ以上の項目をソートする方法

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

続きを見る

まとめ

今回はポケモンクラスを作成して、Linqメソッドの例を沢山使っていきました。

何回も見直して、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