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 Expression.NewArrayInit (Type, IEnumerable<Expression>)

 

Data di pubblicazione: ottobre 2016

Crea un oggetto NewArrayExpression che rappresenta la creazione di una matrice unidimensionale e la relativa inizializzazione da un elenco di elementi.

Spazio dei nomi:   System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

public static NewArrayExpression NewArrayInit(
	Type type,
	IEnumerable<Expression> initializers
)

Parametri

type
Type: System.Type

Oggetto Type che rappresenta il tipo di elemento della matrice.

initializers
Type: System.Collections.Generic.IEnumerable<Expression>

Oggetto IEnumerable<T> contenente gli oggetti Expression da usare per popolare la raccolta Expressions.

Valore restituito

Type: System.Linq.Expressions.NewArrayExpression

Oggetto NewArrayExpression la cui proprietà NodeType è uguale a NewArrayInit e la cui proprietà Expressions è impostata sul valore specificato.

Exception Condition
ArgumentNullException

type o initializers è null.

-oppure-

Un elemento di initializers è null.

InvalidOperationException

Il Type proprietà di un elemento di initializers rappresenta un tipo che non è assegnabile al tipo che type rappresenta.

Il Type proprietà di ogni elemento di initializers deve rappresentare un tipo assegnabile al tipo rappresentato da type, possibilmente dopo essere stata tra virgolette.

System_CAPS_noteNota

Un elemento racchiuso tra virgolette solo se type è Expression. Racchiuso tra virgolette l'elemento viene inserito in un Quote nodo. Il nodo risultante è un UnaryExpression cui Operand proprietà è l'elemento di initializers.

Il Type proprietà dell'oggetto risultante NewArrayExpression rappresenta una matrice di tipo la cui priorità è 1 e il cui tipo di elemento è type.

Nell'esempio seguente viene illustrato come utilizzare il NewArrayInit metodo per creare una struttura ad albero dell'espressione che rappresenta la creazione di una matrice di stringhe unidimensionale che viene inizializzato con un elenco di espressioni stringa.

List<System.Linq.Expressions.Expression> trees =
    new List<System.Linq.Expressions.Expression>()
        { System.Linq.Expressions.Expression.Constant("oak"),
          System.Linq.Expressions.Expression.Constant("fir"),
          System.Linq.Expressions.Expression.Constant("spruce"),
          System.Linq.Expressions.Expression.Constant("alder") };

// Create an expression tree that represents creating and  
// initializing a one-dimensional array of type string.
System.Linq.Expressions.NewArrayExpression newArrayExpression =
    System.Linq.Expressions.Expression.NewArrayInit(typeof(string), trees);

// Output the string representation of the Expression.
Console.WriteLine(newArrayExpression.ToString());

// This code produces the following output:
//
// new [] {"oak", "fir", "spruce", "alder"}

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: