Open In App

C# | Converting an array of one type to an array of another type

Last Updated : 01 Feb, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
Array.ConvertAll(TInput[], Converter<TInput, TOutput>) Method is used to convert an array of one type to an array of another type. Syntax:
public static TOutput[] ConvertAll<TInput,TOutput> (TInput[] array, 
Converter<TInput,TOutput> converter);
Here, TInput and TOutput is the source array and target array respectively. Parameters:
array: It is the one-dimensional, zero-based Array to convert to a target type. converter: It is a Converter that converts each element from one type to another type.
Return Value: This method returns an array of the target type containing the converted elements from the source array. Exception: This method throws ArgumentNullException if the array is null or converter is null. Below programs illustrate the use of Array.ConvertAll(TInput[], Converter<TInput, TOutput>) Method Example 1: CSHARP
// C# program to demonstrate
// Array.ConvertAll() Method
using System;
using System.Collections.Generic;

public class GFG {

    // Main Method
    public static void Main()
    {

        try {

            // Creating and initializing
            // new the Array of int
            int[] myArr = {10, 20, 30, 40};

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

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

            // converting int myArr to String conarr
            String[] conarr = Array.ConvertAll(myArr, 
              new Converter<int, String>(intToString));

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

            // calling the PrintIndexAndValues()
            // method to print
            PrintIndexAndValues(conarr);
        }
        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();
    }

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

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

    // Defining the method
    // intToString
    public static String intToString(int pf)
    {
        return pf.ToString();
    }
}
Output:
Initial Array:
10
20
30
40

Converted Array:
10
20
30
40
Example 2: CSHARP
// C# program to demonstrate
// Array.ConvertAll() Method
using System;
using System.Collections.Generic;

public class GFG {

    // Main Method
    public static void Main()
    {

        try {

            // Creating and initializing new 
            // the Array of int with null value
            int[] myArr = null;

            // converting int myArr to String conarr
            String[] conarr = Array.ConvertAll(myArr, 
             new Converter<int, String>(intToString));

            // calling the PrintIndexAndValues()
            // method to print
            PrintIndexAndValues(conarr);
        }
        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();
    }

    // Defining the method
    // intToString
    public static String intToString(int pf)
    {
        return pf.ToString();
    }
}
Output:
Exception Thrown: System.ArgumentNullException
Reference:

Next Article
Article Tags :

Similar Reads