Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

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

 

Data di pubblicazione: novembre 2016

Converte gli elementi dell'oggetto List<T> corrente in un altro tipo e restituisce un elenco contenente gli elementi convertiti.

Spazio dei nomi:   System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)

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

Parametri

converter
Type: System.Converter<T, TOutput>

Delegato Converter<TInput, TOutput> che converte ogni elemento da un tipo in un altro.

Valore restituito

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

Oggetto List<T> del tipo di destinazione contenente gli elementi convertiti dall'oggetto List<T> corrente.

Parametri tipo

TOutput

Tipo degli elementi della matrice di destinazione.

Exception Condition
ArgumentNullException

converter è null.

The T:System.Converter`2 is a delegate to a method that converts an object to the target type. The elements of the current T:System.Collections.Generic.List`1 are individually passed to the T:System.Converter`2 delegate, and the converted elements are saved in the new T:System.Collections.Generic.List`1.

The current T:System.Collections.Generic.List`1 remains unchanged.

This method is an O(n) operation, where n is P:System.Collections.Generic.List`1.Count.

The following example defines a method named PointFToPoint that converts a T:System.Drawing.PointF structure to a T:System.Drawing.Point structure. The example then creates a T:System.Collections.Generic.List`1 of T:System.Drawing.PointF structures, creates a Converter<PointF, Point> delegate (Converter(Of PointF, Point) in Visual Basic) to represent the PointFToPoint method, and passes the delegate to the M:System.Collections.Generic.List`1.ConvertAll``1(System.Converter{`0,``0}) method. The M:System.Collections.Generic.List`1.ConvertAll``1(System.Converter{`0,``0}) method passes each element of the input list to the PointFToPoint method and puts the converted elements into a new list of T:System.Drawing.Point structures. Both lists are displayed.

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
Disponibile da 2.0
Torna all'inizio
Mostra: