C# | Array.FindLast() Method
Last Updated :
11 Jul, 2025
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> (T[] array, Predicate<T> 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<T>)
// 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<T>)
// 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: