Expression.NewArrayInit Methode

Definition

Erstellt eine NewArrayExpression, die das Erstellen eines eindimensionalen Arrays und Initialisieren dieses Arrays aus einer Liste von Elementen darstellt.

Überlädt

NewArrayInit(Type, IEnumerable<Expression>)

Erstellt eine NewArrayExpression, die das Erstellen eines eindimensionalen Arrays und Initialisieren dieses Arrays aus einer Liste von Elementen darstellt.

NewArrayInit(Type, Expression[])

Erstellt eine NewArrayExpression, die das Erstellen eines eindimensionalen Arrays und Initialisieren dieses Arrays aus einer Liste von Elementen darstellt.

NewArrayInit(Type, IEnumerable<Expression>)

Erstellt eine NewArrayExpression, die das Erstellen eines eindimensionalen Arrays und Initialisieren dieses Arrays aus einer Liste von Elementen darstellt.

public:
 static System::Linq::Expressions::NewArrayExpression ^ NewArrayInit(Type ^ type, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.NewArrayExpression NewArrayInit (Type type, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
static member NewArrayInit : Type * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.NewArrayExpression
Public Shared Function NewArrayInit (type As Type, initializers As IEnumerable(Of Expression)) As NewArrayExpression

Parameter

type
Type

Ein Type, der den Elementtyp des Arrays darstellt.

initializers
IEnumerable<Expression>

Ein IEnumerable<T>, das Expression-Objekte enthält, mit denen die Expressions-Auflistung aufgefüllt werden soll.

Gibt zurück

Ein NewArrayExpression, bei dem die NodeType-Eigenschaft gleich NewArrayInit und die Expressions-Eigenschaft auf den angegebenen Wert festgelegt ist.

Ausnahmen

type oder initializers ist null.

- oder -

Ein Element von initializers ist null.

Die Type-Eigenschaft eines Elements von initializers stellt einen Typ dar, der nicht dem durch type dargestellten Typ zugeordnet werden kann.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie Sie mithilfe der NewArrayInit -Methode eine Ausdrucksstruktur erstellen, die das Erstellen eines eindimensionalen Zeichenfolgenarrays darstellt, das mit einer Liste von Zeichenfolgenausdrücken initialisiert wird.

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"}
Dim trees As New System.Collections.Generic.List(Of System.Linq.Expressions.Expression) _
        (New 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.
Dim newArrayExpression As System.Linq.Expressions.NewArrayExpression = _
    System.Linq.Expressions.Expression.NewArrayInit(Type.GetType("System.String"), trees)

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

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

Hinweise

Die Type Eigenschaft jedes Elements von initializers muss einen Typ darstellen, der dem durch typedargestellten Typ zugewiesen werden kann, möglicherweise nachdem er in Anführungszeichen gesetzt wurde.

Hinweis

Ein Element wird nur in Anführungszeichen angegeben, wenn type ist Expression. Anführungszeichen bedeutet, dass das Element in einen Quote Knoten umschlossen wird. Der resultierende Knoten ist ein UnaryExpression - Eigenschaft Operand ist das Element von initializers.

Die Type -Eigenschaft des resultierenden NewArrayExpression stellt einen Arraytyp dar, dessen Rang 1 ist und dessen Elementtyp ist type.

Gilt für:

NewArrayInit(Type, Expression[])

Erstellt eine NewArrayExpression, die das Erstellen eines eindimensionalen Arrays und Initialisieren dieses Arrays aus einer Liste von Elementen darstellt.

public:
 static System::Linq::Expressions::NewArrayExpression ^ NewArrayInit(Type ^ type, ... cli::array <System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.NewArrayExpression NewArrayInit (Type type, params System.Linq.Expressions.Expression[] initializers);
static member NewArrayInit : Type * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.NewArrayExpression
Public Shared Function NewArrayInit (type As Type, ParamArray initializers As Expression()) As NewArrayExpression

Parameter

type
Type

Ein Type, der den Elementtyp des Arrays darstellt.

initializers
Expression[]

Ein Array von Expression-Objekten, mit denen die Expressions-Auflistung aufgefüllt wird.

Gibt zurück

Ein NewArrayExpression, bei dem die NodeType-Eigenschaft gleich NewArrayInit und die Expressions-Eigenschaft auf den angegebenen Wert festgelegt ist.

Ausnahmen

type oder initializers ist null.

- oder -

Ein Element von initializers ist null.

Die Type-Eigenschaft eines Elements von initializers stellt einen Typ dar, der nicht dem type-Typ zugeordnet werden kann.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie Sie mithilfe der NewArrayInit -Methode eine Ausdrucksstruktur erstellen, die das Erstellen eines eindimensionalen Zeichenfolgenarrays darstellt, das mit einer Liste von Zeichenfolgenausdrücken initialisiert wird.

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"}
Dim trees As New System.Collections.Generic.List(Of System.Linq.Expressions.Expression) _
        (New 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.
Dim newArrayExpression As System.Linq.Expressions.NewArrayExpression = _
    System.Linq.Expressions.Expression.NewArrayInit(Type.GetType("System.String"), trees)

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

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

Hinweise

Die Type Eigenschaft jedes Elements von initializers muss einen Typ darstellen, der dem durch typedargestellten Typ zugewiesen werden kann, möglicherweise nachdem er in Anführungszeichen gesetzt wurde.

Hinweis

Ein Element wird nur in Anführungszeichen angegeben, wenn type ist Expression. Anführungszeichen bedeutet, dass das Element in einen Quote Knoten umschlossen wird. Der resultierende Knoten ist ein UnaryExpression - Eigenschaft Operand ist das Element von initializers.

Die Type -Eigenschaft des resultierenden NewArrayExpression stellt einen Arraytyp dar, dessen Rang 1 ist und dessen Elementtyp ist type.

Gilt für: