Freigeben über


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>)

Quelle:
NewArrayExpression.cs
Quelle:
NewArrayExpression.cs
Quelle:
NewArrayExpression.cs

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 die NewArrayInit -Methode verwendet wird, um eine Ausdrucksstruktur zu 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 dargestellten typeTyp zugewiesen werden kann, möglicherweise nach dem Anführungszeichen.

Hinweis

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

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[])

Quelle:
NewArrayExpression.cs
Quelle:
NewArrayExpression.cs
Quelle:
NewArrayExpression.cs

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 die NewArrayInit -Methode verwendet wird, um eine Ausdrucksstruktur zu 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 dargestellten typeTyp zugewiesen werden kann, möglicherweise nach dem Anführungszeichen.

Hinweis

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

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

Gilt für: