Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Array.ConvertAll<TInput, TOutput> Method

Converts an array of one type to an array of another type.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public static TOutput[] ConvertAll<TInput, TOutput>(
	TInput[] array,
	Converter<TInput, TOutput> converter
)

Type Parameters

TInput

The type of the elements of the source array.

TOutput

The type of the elements of the target array.

Parameters

array
Type: TInput[]

The one-dimensional, zero-based Array to convert to a target type.

converter
Type: System.Converter<TInput, TOutput>

A Converter<TInput, TOutput> that converts each element from one type to another type.

Return Value

Type: TOutput[]
An array of the target type containing the converted elements from the source array.

ExceptionCondition
ArgumentNullException

array is null.

-or-

converter is null.

The Converter<TInput, TOutput> is a delegate to a method that converts an object to the target type. The elements of array are individually passed to the Converter<TInput, TOutput>, and the converted elements are saved in the new array.

The source array remains unchanged.

This method is an O(n) operation, where n is the Length of array.

The following code example defines a method named PointFToPoint that converts a PointF structure to a Point structure. The example then creates an array of PointF structures, creates a Converter<PointF, Point> delegate (Converter(Of PointF, Point) in Visual Basic) to represent the PointFToPoint method, and passes the delegate to the ConvertAll<TInput, TOutput> method. The ConvertAll<TInput, TOutput> method passes each element of the input list to the PointFToPoint method and puts the converted elements into a new list of Point structures. Both lists are displayed.

using System;
using System.Drawing;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create an array of PointF objects.
        PointF[] apf = {
            new PointF(27.8F, 32.62F),
            new PointF(99.3F, 147.273F),
            new PointF(7.5F, 1412.2F) };

        // Display each element in the PointF array.
        Console.WriteLine();
        foreach( PointF p in apf )
            Console.WriteLine(p);

        // Convert each PointF element to a Point object.
        Point[] ap = Array.ConvertAll(apf, 
            new Converter<PointF, Point>(PointFToPoint));

        // Display each element in the Point array.
        Console.WriteLine();
        foreach( Point p in ap )
        {
            Console.WriteLine(p);
        }
    }

    public static Point PointFToPoint(PointF pf)
    {
        return new Point(((int) pf.X), ((int) pf.Y));
    }
}

/* This code example produces the following output:

{X=27.8, Y=32.62}
{X=99.3, Y=147.273}
{X=7.5, Y=1412.2}

{X=27,Y=32}
{X=99,Y=147}
{X=7,Y=1412}
 */

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft