Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Array.ConvertAll<TInput, TOutput>-Methode: (TInput[], Converter<TInput, TOutput>)

 

Veröffentlicht: Oktober 2016

Konvertiert ein Array des einen Typs in ein Array eines anderen Typs.

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

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

Parameter

array
Type: TInput[]

Das eindimensionale nullbasierte Array, das in einen Zieltyp konvertiert werden soll.

converter
Type: System.Converter<TInput, TOutput>

Ein Converter<TInput, TOutput>, der jedes Element von einem Typ in einen anderen Typ konvertiert.

Rückgabewert

Type: TOutput[]

Ein Array des Zieltyps, das die konvertierten Elemente aus dem Quellarray enthält.

Typparameter

TInput

Der Typ der Elemente des Quellarrays.

TOutput

Der Typ der Elemente des Zielarrays.

Exception Condition
ArgumentNullException

array ist null.

- oder -

converter ist null.

Die Converter<TInput, TOutput> ist ein Delegat für eine Methode, die ein Objekt in den Zieltyp konvertiert. Die Elemente der array einzeln übergeben werden, um die Converter<TInput, TOutput>, und die konvertierten Elemente im neuen Array gespeichert werden.

Die Quelle array bleibt unverändert.

Diese Methode ist eine O (n)-Vorgang, in dem n ist die Length der array.

Das folgende Codebeispiel definiert eine Methode namens PointFToPoint , konvertiert ein PointF -Struktur in eine Point Struktur. Im Beispiel wird ein Array von erstellt PointF um Datenstrukturen handelt, erstellt eine Converter<PointF, Point> delegieren (Converter(Of PointF, Point) in Visual Basic) zur Darstellung der PointFToPoint -Methode, und übergibt den Delegaten an die ConvertAll<TInput, TOutput> Methode. Die ConvertAll<TInput, TOutput> Methode übergibt jedes Element der Eingabeliste an die PointFToPoint Methode und legt die konvertierten Elemente in eine neue Liste mit Point Strukturen. Beide Listen werden angezeigt.

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
Verfügbar seit 2.0
Zurück zum Anfang
Anzeigen: