Exportovat (0) Tisk
Rozbalit vše
Tento článek byl přeložen strojově počítačem. Původní text zobrazíte přesunutím ukazatele myši nad jednotlivé věty článku. Další informace
Překlad
Originál

List<T>.ConvertAll<TOutput> – metoda

Převede prvky v aktuálním List<T> do jiného typu 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 typu

TOutput

Typ prvků cílového pole.

Parametry

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

Vrácená hodnota

Typ: System.Collections.Generic.List<TOutput>
A List<T> cílového typu obsahující převedené prvky z aktuální List<T>.

VýjimkaPodmínka
ArgumentNullException

converter je null.

Converter<TInput, TOutput> Je delegát metodou, která převádí 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é List<T>.

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

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

Následující příklad definuje metodu pojmenovanou PointFToPoint , která převádí PointF ke Point struktury. Příklad poté vytvoří List<T> z PointF struktur, vytvoří Converter<PointF, Point> delegovat (Converter(Of PointF, Point) v jazyce Visual Basic) představující PointFToPoint metoda a předá delegáta ConvertAll<TOutput> metoda. ConvertAll<TOutput> Metoda předá každý prvek seznamu vstupní a PointFToPoint metoda a vloží do nového seznamu převedené prvky Point struktur. 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

Podporováno v: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Podporováno v: 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 (role Server Core není podporována), Windows Server 2008 R2 (role Server Core je podporována s aktualizací SP1 nebo novější, architektura Itanium není podporována)

.NET Framework nepodporuje některé verze platforem. Seznam podporovaných verzí naleznete v tématu .NET – požadavky na systém.

Obsah vytvořený komunitou

Přidat
Zobrazit:
© 2015 Microsoft