Partilhar via


NewArrayExpression Classe

Definição

Representa a criação de uma nova matriz e possível inicialização dos elementos da nova matriz.

public ref class NewArrayExpression : System::Linq::Expressions::Expression
public ref class NewArrayExpression sealed : System::Linq::Expressions::Expression
public class NewArrayExpression : System.Linq.Expressions.Expression
public sealed class NewArrayExpression : System.Linq.Expressions.Expression
type NewArrayExpression = class
    inherit Expression
Public Class NewArrayExpression
Inherits Expression
Public NotInheritable Class NewArrayExpression
Inherits Expression
Herança
NewArrayExpression

Exemplos

O exemplo a seguir cria um NewArrayExpression objeto que representa a criação e inicialização de uma matriz unidimensional de cadeias de caracteres.

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"}

O exemplo a seguir cria um NewArrayExpression objeto que representa a criação de uma matriz bidimensional de cadeias de caracteres.

// Create an expression tree that represents creating a
// two-dimensional array of type string with bounds [3,2].
System.Linq.Expressions.NewArrayExpression newArrayExpression =
    System.Linq.Expressions.Expression.NewArrayBounds(
            typeof(string),
            System.Linq.Expressions.Expression.Constant(3),
            System.Linq.Expressions.Expression.Constant(2));

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

// This code produces the following output:
//
// new System.String[,](3, 2)
' Create an expression tree that represents creating a string
' array with rank 2 and bounds (3,2).
Dim newArrayExpression As System.Linq.Expressions.NewArrayExpression = _
    System.Linq.Expressions.Expression.NewArrayBounds( _
            Type.GetType("System.String"), _
            System.Linq.Expressions.Expression.Constant(3), _
            System.Linq.Expressions.Expression.Constant(2))

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

' This code produces the following output:
'
' new System.String[,](3, 2)

Comentários

A tabela a seguir mostra os diferentes métodos de fábrica que você pode usar para criar um NewArrayExpression dependendo do NodeType necessário.

NodeType Métodos de fábrica
NewArrayBounds NewArrayBounds
NewArrayInit NewArrayInit

Propriedades

CanReduce

Indica que o nó pode ser reduzido a um nó mais simples. Se isso retornar verdadeiro, Reduce() poderá ser chamado para produzir a forma reduzida.

(Herdado de Expression)
Expressions

Obterá os limites da matriz se o valor da propriedade NodeType for NewArrayBounds, ou os valores para inicializar os elementos da nova matriz se o valor da propriedade NodeType for NewArrayInit.

NodeType

Obtém o tipo de nó deste Expression.

(Herdado de Expression)
Type

Obtém o tipo estático da expressão que esse Expression representa.

Type

Obtém o tipo estático da expressão que esse Expression representa.

(Herdado de Expression)

Métodos

Accept(ExpressionVisitor)

Expede o método específico de visita para esse tipo de nó. Por exemplo, MethodCallExpression chama o VisitMethodCall(MethodCallExpression).

Accept(ExpressionVisitor)

Expede o método específico de visita para esse tipo de nó. Por exemplo, MethodCallExpression chama o VisitMethodCall(MethodCallExpression).

(Herdado de Expression)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Reduce()

Reduz esse nó a uma expressão mais simples. Se CanReduce retornar true, ele deverá retornar uma expressão válida. Esse método pode retornar outro nó que também precisa ser reduzido.

(Herdado de Expression)
ReduceAndCheck()

Reduz esse nó a uma expressão mais simples. Se CanReduce retornar true, ele deverá retornar uma expressão válida. Esse método pode retornar outro nó que também precisa ser reduzido.

(Herdado de Expression)
ReduceExtensions()

Reduz a expressão a um tipo de nó conhecido (que não é um nó de extensão) ou apenas retorna a expressão se ele já é um tipo conhecido.

(Herdado de Expression)
ToString()

Retorna uma representação textual de Expression.

(Herdado de Expression)
Update(IEnumerable<Expression>)

Cria uma nova expressão que é parecida com esta, mas usando os filhos fornecidos. Se todos os filhos forem os mesmos, ela retornará esta expressão.

VisitChildren(ExpressionVisitor)

Reduz o nó e, em seguida, chama o delegado visitante na expressão reduzida. O método gera uma exceção se o nó não é reduzível.

(Herdado de Expression)

Aplica-se a