Linq 配列、リスト

C# Listクラスのメソッドでラムダ式を使ってみよう1 リストのメソッドExists、Find、FindAll、FindIndex、FindLast、FindLastIndexを使ってみます。

今回のテーマ

今回の記事では、List<T>クラスのラムダ式を引数に持っているメソッドをピックアップしてみます。

ピックアップするのは下記のメソッドです。

ラムダ式と組み合わせるメソッド一覧

  • Exists
  • Find
  • FindAll
  • FindIndex
  • FindLast
  • FindLastIndex

数が多いですが、頑張って使用例を作っていきたいと思います。ぜひ、参考にしてくださいね。

ラムダ式については下記に詳しく書いていますので、良ければみてください。

CHECK

C# 匿名メソッド、ラムダ式(=>)について解説します。

まえがきContents1 まえがき2 デリケートを使用した書き方3 匿名メソッドを使用した書き方4 ラムダ式を使用した書き方5 ラムダ式の省略6 色々なラムダ式を渡してみよう7 まとめ こんばんは、 ...

続きを見る

Exists

まずはExistsです。メタデータで覗いてみると、下記のようなメソッドでした。

引数にラムダ式を指定して、一致している場合は、bool型で返してくれるみたいですね。

早速参考となるソースコードを書いてみます。

 出力結果
True

リスト内の要素を調べて、一致してたらTrueを返してくれます。

下記のようにStartWithメソッドなどと組み合わせて使うのも良さそうですね。

 出力結果
True

Find

Findメソッドは最初に引数に指定した要素を返すメソッドです。下記にようなメソッドとなっています。

引数にラムダ式を指定し、要素と一致していたらその要素を返してくれるみたいですね。

早速例として下記のソースコードの動きを確認してみます。

 出力結果
Fireman

一致しているFiremanを返しましたね。今度はStartWithメソッドを使用して下記のように指定してみます。

 出力結果
Rockman

初めに一致した値のみ返すことが分かります。

因みにどの要素にも一致しない場合は、空文字を返しました。

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

FindAll

続けて、FindAllです。用途はFindメソッドに似てますが、このメソッドは一致している全ての要素を返してくれます。

一応、メソッドを確認してみましょう。

一致した要素をリストとして返してくれるのが分かりますね。便利です。

Findメソッドで紹介した二つ目のソースコードを少し変更し、下記のようにしてみました。

 出力結果
Rockman
Rollchan

「R」から始まる全てのロボット名が出力されましたね。

個人的にFindメソッドよりもFindAllメソッドの方が便利だと思います。

KappaChan
Findメソッドは一番初めの値だけ取れればいい時や、FindAllでは、どうしても性能に問題ある場合に使用するかっぱ!

FindIndex

FindIndexメソッドも今まで通りに用途は似ています。

メソッドとしては下記の引数のパターンが用意されています。

今回は引数がラムダ式の一つのパターンのみしか紹介しませんが、startIndexは検索を始める位置、countは検索する個数を表します。

戻り値はint型なので、要素の値が一致した位置の番号を返すメソッドのようですね。例となるソースコードを書いていきます。

 出力結果
2

一致した「Fireman」の要素番号が返ってきていますね。因みにどの要素にも一致しない場合は、-1が返ります。

FindLast

Findメソッドは前から検索していきますが、FindLastメソッドは後ろから検索をしていきます。

下記のソースコードを見れば、その通りになっていることが分かると思います。

 出力結果
Rollchan

後ろから検索しているので、「Rollchan」が出力されていますね。Findメソッドと一緒に覚えておきましょう。

FindLastIndex

FindIndexが前から検索するので、FindLastIndexは後ろから検索します。

以下略・・・。

KappaChan
もう使い方は分かるかっぱよね?

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

まとめ

今回はラムダ式と組み合わせることが出来る下記のリストのメソッドを紹介しました。

今回紹介したメソッド

  • Exists
  • Find
  • FindAll
  • FindIndex
  • FindLast
  • FindLastIndex

あと3つラムダ式と組み合わせることができるメソッドが3つあるので、別の記事で紹介します。

今回紹介した中でFindAllは特に便利なので、ぜひ覚えてくださいね。

それでは、最後まで読んでくれてありがとうございました。

KappaChan
最後まで見てくれてありがとうかっぱ!

ラムダ式については下記に詳しく書いているので、併せて読んでみてください。

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

CHECK

C# 匿名メソッド、ラムダ式(=>)について解説します。

まえがきContents1 まえがき2 デリケートを使用した書き方3 匿名メソッドを使用した書き方4 ラムダ式を使用した書き方5 ラムダ式の省略6 色々なラムダ式を渡してみよう7 まとめ こんばんは、 ...

続きを見る

 

 

プログラミングを一人で独学をするならプロからオンラインで教えてもらいましょう!10倍効率いいです!!

数多くあるプログラミング教室の中で2つのオンライン教室を厳選しました!どちら共、エンジニアとしての就職までサポートしてくれる本当にオススメの教室です。個別相談は完全無料です!!

カウンセリングは完全無料!未経験でITエンジニアを目指したい方にオススメ!

Webエンジニアになりたい方にオススメ!個別相談は無料!

KappaChan
オンラインのプログラミング教室は本当にオススメかっぱ!!

新しいサイト作りました。アニメのまとめサイトです。

レインボーリアルタイムTwitter(アニメ版)

レインボーリアルタイムTwitter(映画版)

-Linq, 配列、リスト

X