C#の『Last』の使い方が分からない…教えてください!
C#を学んでいるけど…
「Lastの使い方が分からない」
このような疑問を持っていませんか?
この記事では、LINQのひとつである『Last』について現役エンジニアが分かりやすく解説します。
まだ、C#の開発環境構築が出来ていない方はこちらを参考にしてください。
Lastの使い方
Lastの使い方を解説する前に、Lastで何が出来るのかを把握しておきましょう。
Last = 条件を満たす最後の要素を抽出
このような考え方で問題ありません。Lastを使用すると配列(リスト)の中から、条件を満たしている値のうちインデックスが最大の値を返します。
それでは、実際のコードを用いながらLastの使い方を解説していきます。
まずは、Lastの使い方から説明します。Lastを使うときには以下のように記述します。
配列.Last(条件式)
実際のコードを用いながらLastの使い方を解説していきます。
Lastを使ってシーケンスを出力するときには以下のように記述します。
using System;
using System.Collections.Generic;
using System.Linq;
namespace sample
{
class LinqLast
{
static public void BlogLinqLast()
{
//値一覧を変数NumberListとして宣言・初期化
int[] NumberList = new int[] {
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
};
//Lastの実行結果を出力
Console.WriteLine($"偶数の値:{NumberList.Last(n => (n % 2 == 0))}");
Console.WriteLine($"10以下の値:{NumberList.Last(n => n <= 10)}");
}
}
}
サンプルコードを実行した際の出力結果は、以下のようになります。
偶数の値:10
10以下の値:10
注目していただきたいのは、Lastを使っている26行目、27行目です。
配列.Last(条件式)
これを基にサンプルコードを解説すると、「配列 = NumberList」、「条件式 = (n % 2 == 0), (n <= 10)」となります。
つまり、配列(NumberList)の各値のうち条件式((n % 2 == 0), (n <= 10))を満たしている最後の要素を出力(Console.WriteLine)するということです。
このようにして、C#ではLastを使用することで、コードを簡潔に書くことが出来ます。
似たようなLINQにLastOrDefaultがあります。気になる方は、以下の記事を参考にしてください。
【まとめ】Lastは条件を満たした最後の要素を出力できる
Lastの使い方は理解できましたか?
この記事では、C#のLastの使い方について紹介しました。
最後になりますが、ここに関してもっと詳しく教えて欲しいときなどは、遠慮なく、お問い合わせ、コメント、Twitterにてご連絡ください。
最後までお読みいただきありがとうございました。