.NET Framework-Klassenbibliothek
Array.ConvertAll (generische Methode)

Hinweis: Diese Methode ist neu in .NET Framework, Version 2.0.

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

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

Syntax

Visual Basic (Deklaration)
Public Shared Function ConvertAll(Of TInput, TOutput) ( _
    array As TInput(), _
    converter As Converter(Of TInput, TOutput) _
) As TOutput()
Visual Basic (Verwendung)
Dim array As TInput()
Dim converter As Converter(Of TInput, TOutput)
Dim returnValue As TOutput()

returnValue = Array.ConvertAll(array, converter)
C#
public static TOutput[] ConvertAll<TInput,TOutput> (
    TInput[] array,
    Converter<TInput,TOutput> converter
)
C++
public:
generic<typename TInput, typename TOutput>
static array<TOutput>^ ConvertAll (
    array<TInput>^ array, 
    Converter<TInput, TOutput>^ converter
)
J#
J# unterstützt die Verwendung von generischen Typen und Methoden, aber nicht die Deklaration von neuen generischen Typen oder Methoden.
JScript
JScript unterstützt keine generischen Typen oder Methoden.

Typparameter

TInput

Der Typ der Elemente des Quellarrays.

TOutput

Der Typ der Elemente des Zielarrays.

Parameter

array

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

converter

Ein Converter, der jedes Element von einem Typ in einen anderen Typ konvertiert.

Rückgabewert

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

AusnahmetypBedingung

ArgumentNullException

array ist NULL (Nothing in Visual Basic).

- oder -

converter ist NULL (Nothing in Visual Basic).

Hinweise

Der Converter ist ein Delegat für eine Methode, die ein Objekt in den Zieltyp konvertiert. Die Elemente von array werden einzeln an den Converter ü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.

Beispiel

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-Methode übergeben. Die ConvertAll-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.

Visual Basic
Imports System
Imports System.Drawing
Imports System.Collections.Generic

Public Class Example

    Public Shared Sub Main()

        Dim apf() As PointF = { _
            New PointF(27.8, 32.62), _
            New PointF(99.3, 147.273), _
            New PointF(7.5, 1412.2)  }

        Console.WriteLine()
        For Each p As PointF In apf
            Console.WriteLine(p)
        Next

        Dim ap() As Point = Array.ConvertAll(apf, _
            New Converter(Of PointF, Point)(AddressOf PointFToPoint))

        Console.WriteLine()
        For Each p As Point In ap
            Console.WriteLine(p)
        Next

    End Sub

    Public Shared Function PointFToPoint(ByVal pf As PointF) _
        As Point

        Return New Point(CInt(pf.X), CInt(pf.Y))
    End Function
End Class

' 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=28,Y=33}
'{X=99,Y=147}
'{X=8,Y=1412}
C#
using System;
using System.Drawing;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        PointF[] apf = {
            new PointF(27.8F, 32.62F),
            new PointF(99.3F, 147.273F),
            new PointF(7.5F, 1412.2F) };

        Console.WriteLine();
        foreach( PointF p in apf )
        {
            Console.WriteLine(p);
        }

        Point[] ap = Array.ConvertAll(apf, 
            new Converter<PointF, Point>(PointFToPoint));

        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}
 */
Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

Versionsinformationen

.NET Framework

Unterstützt in: 2.0
Siehe auch

Page view tracker