Skip to content
Related Articles

Related Articles

Improve Article

C# | Array.FindAll() Method

  • Difficulty Level : Medium
  • Last Updated : 06 Oct, 2021

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 Find()
        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 Find()
        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: 
 

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :