Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Delegato Converter(TInput, TOutput)
Collapse the table of content
Expand the table of content
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Delegato Converter<TInput, TOutput>

Rappresenta un metodo che converte un oggetto da un tipo ad un altro.

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

public delegate TOutput Converter<in TInput, out TOutput>(
	TInput input
)

Parametri di tipo

in TInput

Il tipo di oggetto che deve essere convertito.

Il parametro di questo tipo è controvariante. Ciò significa che è possibile utilizzare il tipo specificato o qualsiasi tipo meno derivato. Per ulteriori informazioni sulla covarianza e la controvarianza, vedere Covarianza e controvarianza nei generics.

out TOutput

Il tipo in cui l'oggetto di input deve essere convertito.

Il parametro di questo tipo è covariante. Ciò significa che è possibile utilizzare il tipo specificato o qualsiasi tipo più derivato. Per ulteriori informazioni sulla covarianza e la controvarianza, vedere Covarianza e controvarianza nei generics.

Parametri

input
Tipo: TInput
L'oggetto da convertire.

Valore restituito

Tipo: TOutput
L'oggetto TOutput che rappresenta l'oggetto TInput convertito.

Questo delegato viene utilizzato da ConvertAll<TInput, TOutput> metodo di Array classe e ConvertAll<TOutput> metodo di List<T> una classe per convertire ogni elemento della raccolta da un tipo a un altro.

In questa sezione sono contenuti due esempi di codice. Il primo viene illustrato Converter<TInput, TOutput> delegato con ConvertAll<TInput, TOutput> metodo di Array la classe e il secondo viene illustrato il delegato con ConvertAll<TOutput> metodo di List<T> classe generica.

Esempio 1

Il codice riportato di seguito definisce un metodo denominato PointFToPoint che converte una struttura PointF in una struttura Point. L'esempio crea, quindi, una matrice di strutture PointF, viene creato un delegato Converter<PointF, Point> (Converter(Of PointF, Point) in Visual Basic) per rappresentare il metodo PointFToPoint metodo e passa il delegato al metodo ConvertAll<TInput, TOutput>. ConvertAll<TInput, TOutput> il metodo passa ciascuna voce di elenco da input a PointFToPoint il metodo e inserisce gli elementi convertiti in un nuovo elenco di Point strutture. Entrambi gli elenchi sono visualizzati.


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


Esempio 2

Il codice riportato di seguito definisce un metodo denominato PointFToPoint che converte una struttura PointF in una struttura Point. L'esempio crea quindi un oggetto List<T> di strutture PointF, crea un delegato Converter<PointF, Point> (Converter(Of PointF, Point) in Visual Basic) per rappresentare PointFToPoint metodo e passa il delegato al metodo ConvertAll<TOutput>. ConvertAll<TOutput> il metodo passa ciascuna voce di elenco da input a PointFToPoint il metodo e inserisce gli elementi convertiti in un nuovo elenco di Point strutture. Entrambi gli elenchi sono visualizzati.


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

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

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 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2015 Microsoft