(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Array.ConvertAll<TInput, TOutput>-Methode

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
)

Typparameter

TInput

Der Typ der Elemente des Quellarrays.

TOutput

Der Typ der Elemente des Zielarrays.

Parameter

array
Typ: TInput[]
Das eindimensionale nullbasierte Array, das in einen Zieltyp konvertiert werden soll.
converter
Typ: System.Converter<TInput, TOutput>
Ein Converter<TInput, TOutput>, der jedes Element von einem Typ in einen anderen Typ konvertiert.

Rückgabewert

Typ: TOutput[]
Ein Array des Zieltyps, das die konvertierten Elemente aus dem Quellarray enthält.

AusnahmeBedingung
ArgumentNullException

array ist null.

- oder -

converter ist null.

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

Das Quell-array bleibt unverändert.

Diese Methode ist eine O(n)-Operation, wobei n die Length von array ist.

Im folgenden Codebeispiel wird die PointFToPoint-Methode definiert, die eine PointF-Struktur in eine Point-Struktur konvertiert. Dann werden im Beispiel ein Array von PointF-Strukturen erstellt sowie ein Converter<PointF, Point>-Delegat (Converter(Of PointF, Point) in Visual Basic), der die PointFToPoint-Methode darstellen soll, und der Delegat wird an die ConvertAll<TInput, TOutput>-Methode übergeben. Die ConvertAll<TInput, TOutput>-Methode übergibt jedes Element der Eingabeliste an die PointFToPoint-Methode und legt die konvertierten Elemente in einer neuen Liste von Point-Strukturen ab. 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

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft