C# | Array.FindLast() Method (original) (raw)

Last Updated : 17 Dec, 2021

This method is used to search for an element that matches the conditions defined by the specified predicate and returns the last occurrence within the entire Array.Syntax:

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

Parameters:

array: It is the one-dimensional, zero-based array to search.match: It is the predicate that defines the conditions of the element to search for.

Return Value: This method returns the last element that matches the conditions defined by the specified predicate if it is found otherwise returns the default value for type T.Exception: This method throws ArgumentNullException if the array is null or match is null. Below programs illustrate the use of Array.FindLast(T[], Predicate) Method:Example 1:

CSHARP `

// C# program to demonstrate // Array.FindLast(T[], Predicate) // Method using System; using System.Collections.Generic;

public class GFG {

// Main Method
public static void Main()
{

    try {

        // Creating and initializing
        // new the String
        String[] myArr = {"Sun", "Son", "Tue", "Thu"};

        // Display the values of the myArr.
        Console.WriteLine("Initial Array:");

        // calling the PrintIndexAndValues()
        // method to print
        PrintIndexAndValues(myArr);

        // getting a last element with required
        // condition using method FindLast()
        string value = Array.FindLast(myArr, 
               element => element.StartsWith("S",
                      StringComparison.Ordinal));

        // Display the value of
        // the found element.
        Console.Write("Last occurrence: ");

        // printing the string
        // following the condition
        Console.Write("{0}", value);
    }
    
    catch (ArgumentNullException e) {

        Console.Write("Exception Thrown: ");
        Console.Write("{0}", e.GetType(), e.Message);
    }
}

// Defining the method
// PrintIndexAndValues
public static void PrintIndexAndValues(String[] myArr)
{
    for (int i = 0; i < myArr.Length; i++) {

        Console.WriteLine("{0}", myArr[i]);
    }
    Console.WriteLine();
}

}

`

Output:

Initial Array: Sun Son Tue Thu

Last occurrence: Son

Example 2:

CSHARP `

// C# program to demonstrate // Array.FindLast(T[], Predicate) // Method using System; using System.Collections.Generic;

public class GFG {

// Main Method
public static void Main()
{

    try {

        // Creating and initializing
        // new Array String with null
        String[] myArr = null;

        // getting a last element with required
        // condition using method FindLast()
        string value = Array.FindLast(myArr,
            element => element.StartsWith("S",
                   StringComparison.Ordinal));

        // Display the value of
        // the found element.
        Console.Write("Last occurrence: ");

        // printing the string
        // following the condition
        Console.Write("{0}", value);
    }
    catch (ArgumentNullException e) {

        Console.Write("Exception Thrown: ");
        Console.Write("{0}", e.GetType(), e.Message);
    }
}

// Defining the method
// PrintIndexAndValues
public static void PrintIndexAndValues(String[] myArr)
{
    for (int i = 0; i < myArr.Length; i++) {

        Console.WriteLine("{0}", myArr[i]);
    }
    Console.WriteLine();
}

}

`

Output:

Exception Thrown: System.ArgumentNullException

Reference:

Similar Reads