C#
 Computer >> コンピューター >  >> プログラミング >> C#

【C#入門】Array.FindLast()メソッドの使い方をわかりやすく解説

C#のArray.FindLast()メソッドは、指定した述語(Predicate<T>)で定義された条件に一致する要素を配列から検索し、その中で最後に出現した要素を返すメソッドです。配列全体を対象として検索が行われるため、条件に一致する要素が複数存在する場合は、最も後ろにあるものが取得されます。

基本構文

Array.FindLast()メソッドの構文は以下のとおりです。

public static T FindLast<T> (T[] array, Predicate<T> match);

各パラメータの意味は次のようになっています。

  • array: 検索対象となる1次元のゼロベース(0から始まるインデックス)の配列
  • match: 検索する要素の条件を定義するPredicate<T>デリゲート

なお、条件に一致する要素が見つからなかった場合、このメソッドは型Tの既定値(参照型の場合はnull)を返します。

実装例

それでは、実際にArray.FindLast()メソッドを使ったサンプルコードを見てみましょう。

using System;
public class Demo{
    public static void Main(){
        Console.WriteLine("Array elements...");
        string[] arr = { "car", "bike", "truck", "bus"};
        for (int i = 0; i < arr.Length; i++){
            Console.Write("{0} ", arr[i]);
        }
        Console.WriteLine();
        string res = Array.FindLast(arr, ele => ele.StartsWith("b",
        StringComparison.Ordinal));
        Console.Write("\nLast Occurrence...\n");
        Console.WriteLine("{0}", res);
    }
}

このコードでは、「b」で始まる文字列を検索条件としてラムダ式で定義し、配列内を末尾側から走査しています。条件に一致する最後の要素だけが返される点がポイントです。

実行結果

上記のプログラムを実行すると、次のような出力が得られます。

Array elements...
car bike truck bus

Last Occurrence...
bus

この例では、配列内に「bike」と「bus」という「b」で始まる要素が2つ存在しますが、Array.FindLast()最後に出現する「bus」を返しています。もし先頭側から一致する要素を探したい場合は、同じくSystem名前空間に用意されているArray.Find()メソッドを使用してください。

  1. C#のConsole.SetBufferSize()メソッドの使い方を徹底解説

    C#におけるConsole.SetBufferSize()メソッドは、コンソール画面のバッファ領域(スクリーンバッファ)の幅と高さを指定した値に設定するために使用されるメソッドです。コンソールアプリケーションで表示領域をカスタマイズしたい場合に活用できます。構文Console.SetBufferSize()メソッドの構文は以下の通りです。public static void SetBufferSize (int width, int height);各パラメータの意味は次のようになっています。width: バッファ領域の幅(列数)を指定します。height: バッファ領域の高さ(行数)を指定し

  2. C#のConsole.ResetColor()メソッドの使い方を解説

    概要C#のConsole.ResetColor()メソッドは、コンソールの前景色(文字色)と背景色を、既定の配色に戻すために使用されます。プログラム内で一時的に文字色や背景色を変更した後、元の状態へ復元したい場合に非常に便利です。構文ResetColor()メソッドの構文は以下のとおりです。public static void ResetColor ();このメソッドは引数を受け取らず、戻り値もありません。また、staticメソッドであるため、インスタンスを生成することなく、Consoleクラスから直接呼び出すことができます。使用例それでは、C#でConsole.ResetColor()メソッ