Tento článek byl přeložený strojově. Pokud chcete zobrazit článek v angličtině, zaškrtněte políčko Angličtina. Anglickou verzi článku můžete také zobrazit v místním okně přesunutím ukazatele myši nad text.
Překlad
Angličtina

Metoda List<T>.ConvertAll<TOutput>(Converter<T, TOutput>)

.NET Framework (current version)
 

Převede prvky v aktuálním List<T> na jiný typ a vrátí seznam obsahující převedené prvky.

Obor názvů:   System.Collections.Generic
Sestavení:  mscorlib (v mscorlib.dll)

public List<TOutput> ConvertAll<TOutput>(
	Converter<T, TOutput> converter
)

Parametry

converter
Type: System.Converter<T, TOutput>

A Converter<TInput, TOutput> delegát, který převede každý prvek z jednoho typu na jiný typ.

Návratová hodnota

Type: System.Collections.Generic.List<TOutput>

A List<T> cílového typu obsahující převedené prvky z aktuální List<T>.

Parametry typu

TOutput

Typ prvků cílového pole.

Exception Condition
ArgumentNullException

converter je null.

Converter<TInput, TOutput> Je delegát metody, která převede objekt na typ cíle. Prvky aktuální List<T> jsou jednotlivě předány Converter<TInput, TOutput> delegáta a převedené prvky jsou uloženy v novém List<T>.

Aktuální List<T> zůstává beze změny.

Tato metoda je operace O (n) operace, kde n je Count.

Následující příklad definuje metodu s názvem PointFToPoint která převádí PointF do struktury Point Struktura. Příklad poté vytvoří List<T> z PointF struktury, vytvoří Converter<PointF, Point> Delegovat (Converter(Of PointF, Point) v jazyce Visual Basic) k reprezentaci PointFToPoint Metoda a předá delegáta pro ConvertAll<TOutput> Metoda. ConvertAll<TOutput> Metoda předává každý prvek seznamu vstupní PointFToPoint Metoda a vloží převedeného prvky do nového seznamu Point struktury. Oba seznamy jsou zobrazeny.

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

public class Example
{
    public static void Main()
    {
        List<PointF> lpf = new List<PointF>();

        lpf.Add(new PointF(27.8F, 32.62F));
        lpf.Add(new PointF(99.3F, 147.273F));
        lpf.Add(new PointF(7.5F, 1412.2F));

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

        List<Point> lp = lpf.ConvertAll( 
            new Converter<PointF, Point>(PointFToPoint));

        Console.WriteLine();
        foreach( Point p in lp )
        {
            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
K dispozici od 2.0
Zpět na začátek
Zobrazit: