Linq 配列、リスト

C# Listクラスのメソッドでラムダ式を使ってみよう2 リストのメソッドForEach、RemoveAll、TrueForAllを使ってみます。

今回のテーマ

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

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

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

  • ForEach
  • RemoveAll
  • TrueForAll

ラムダ式を引数として扱うリストのメソッドは、今回の3つのメソッドと前回の記事のメソッドで全てなので、頑張って使い方を覚えていきましょう!

前回の記事はこちらです。

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

今回のテーマContents1 今回のテーマ1.1 Exists1.2 Find1.3 FindAll1.4 FindIndex1.5 FindLast1.6 FindLastIndex1.7 まとめ ...

続きを見る

ForEach

まずはForEachメソッドです。このメソッドは下記のようになっており、返り値がvoidとなっています。

引数はActionのため、返り値がないラムダ式となります。

なので、ForEachメソッドは下記のソースコードのように出力などで使用することがほとんどだと思います。

 出力結果
Rockman
Rollchan
Fireman
Iceman
Airman

全ての要素が出力されていますね。

下記のようにLinqと組み合わせて使用すると便利です。

 出力結果
Rockman
Rollchan

でも、個人的に下記のようにforeach文を使用して使う方が好きなので、私はあまり使用しませんね。

 出力結果
Rockman
Rollchan

RemoveAll

続けて、RemoveAllです。要素を削除してくれるメソッドですね。

このメソッドは下記のようになっています。

戻り値がint型なんですよね!因みにこの戻り値は消した要素の数を表しています。

早速ソースコードを見てみましょう。

 出力結果
1
Rockman
Rollchan
Iceman
Airman

ちゃんと「Rockman」がリストから削除されていますね。戻り値のint型の引数も1となっています。

複数個対象となる条件でも見てみましょう。

 出力結果
4
Rollchan

「man」がついてるロボット名が全て消えました!返り値も4ですね。この例を見て頂ければ、使い方が分かると思います。

RemoveAllは結構使いやすいので、覚えておいて損はないです。私はリスト関わらず、Allがついてるメソッドが大好きです。

今度、Allがついてるメソッド集という記事でも作ろうかな・・。

TrueForAll

最後にTrueForAllメソッドです。このメソッドは下記のようになっています。

返り値はbool型ですね。引数はラムダ式のみです。

このメソッドは下記の2つのソースコードと出力結果をみれば分かると思います。

KappaChan
予測がつくと思うかっぱ!

1つ目のソースコードと出力結果

 出力結果
False

2つ目のソースコードと出力結果

 出力結果
True

なんとなく分かりましたよね。

要素がラムダ式の条件に全て一致していれば「True」、1つでもしていない場合は「False」です。

あまり使う機会ないかもしれませんが、LinqのAllメソッドのように動作するんだなー。くらいで覚えておけばいいと思います。

LinqのAllメソッドについてはこちら

こちらもCHECK

C# Linqの使い方。Any、Allを解説。

今回のテーマContents1 今回のテーマ2 LinqのAnyとAllを使用する場面2.1 Any2.2 All3 Linqメソッドの解説の流れ4 Anyの使い方5 Allの使い方6 まとめ こんば ...

続きを見る

まとめ

今回はラムダ式と組み合わせることができるリストのメソッドを3つ紹介しました。

引数がラムダ式のメソッドはあまり使いたくないと思われがちですが、結構簡単で便利なので、

どんどん使ってください。この記事をみれば、使い方がすぐ分かるので、何回も復習しましょう。

最後まで読んで頂き有難うございました。

KappaChan
最後まで読んで頂きありがとうかっぱ!

ラムダ式についてはこちら

CHECK

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

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

続きを見る

-Linq, 配列、リスト

X