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

Last Updated : 03 Feb, 2023

This method is used to retrieve all the elements that match the conditions defined by the specified predicate.
Syntax:

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

Here, T is the type of element of the array.
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 return an array containing all elements that matches the conditions defined by the specified predicate if it is found. Otherwise, it returns an empty array.
Exception: This method throws ArgumentNullException if the array is null or match is null.
Below programs illustrate the use of Array.FindAll(T[], Predicate) Method:
Example 1:

CSharp `

// C# program to demonstrate // FindAll() 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", "Mon", "Tue", "Sat"};

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

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

    // getting a element a with required 
    // condition using method FindAll()
    String[] value = Array.FindAll(myArr, 
           element => element.StartsWith("S", 
           StringComparison.Ordinal));

    // Display the value 
    // of the found element.
    Console.WriteLine("Elements are: ");

    // printing the Array of String
    PrintIndexAndValues(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 Mon Tue Sat

Elements are: Sun Sat

Example 2:

CSharp `

// C# program to demonstrate // FindAll() method // For ArgumentNullException using System; using System.Collections.Generic;

public class GFG {

// Main Method public static void Main() {

try {

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

    // getting a element a with 
    // required condition using
    // method FindAll()
    Console.WriteLine("Trying to get the element from a null array");
    Console.WriteLine();
    String[] value = Array.FindAll(myArr, 
              element => element.StartsWith("S",
              StringComparison.Ordinal));

    // Display the value of the found element.
    Console.WriteLine("Elements are: ");

    // printing the Array of String
    PrintIndexAndValues(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:

Trying to get the element from a null array

Exception Thrown: System.ArgumentNullException

Reference: