Linq

C# 何回も見て覚えるソースコード ポケモンで学ぶLinqメソッド。(メソッド構文)

ぜひこちらの記事もご覧ください!!
転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました!

SESで働いている私の年収と働き方

今回のテーマ

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

この記事のコンセプトはシステムエンジニアやプログラマーを

目指す人はポケモンくらいやったことあるだろうということで、

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

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

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

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

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

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

Linqの記事一覧はこちら

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

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

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

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

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

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

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

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

 出力結果
フシギバナ
リザードン
カメックス
ライチュウ
カイリキー
ウツボット
ドククラゲ
ゲンガー
スターミー
シャワーズ
サンダース
ブースター
Selectメソッドの動きについてはこちらC# Linqはとても便利なので使い方を覚えよう。Selectメソッド、Whereメソッドを解説します。

ぜひこちらの記事もご覧ください!! 転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました! SESで働いている私の年収と働き方 今回のテーマ こんばんは、サルモ ...

続きを見る

ポケモンの名前、タイプ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# Linqはとても便利なので使い方を覚えよう。Selectメソッド、Whereメソッドを解説します。

ぜひこちらの記事もご覧ください!! 転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました! SESで働いている私の年収と働き方 今回のテーマ こんばんは、サルモ ...

続きを見る

こうげきが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# Linqは便利なので使い方を覚えよう。 2つ以上の項目をソートする方法 ThenBy、ThenByDescendingの使い方

ぜひこちらの記事もご覧ください!! 転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました! SESで働いている私の年収と働き方 今回のテーマ こんばんは、サルモ ...

続きを見る

まとめ

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

何回も見直して、Linqメソッドを使用するときの参考にしてください。

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

Linqの記事一覧はこちら

 

ぜひこちらの記事もご覧ください!!
転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました!

SESで働いている私の年収と働き方

私は下記のサイトで現在の働き方、フルリモート(週5)の企業に出会うことができました。

今でもとても感謝しています!カウンセリングは無料なので、ぜひどうぞ!

 

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

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

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

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

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

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

-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