Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Expression.NewArrayInit (Type, IEnumerable<Expression>)

 

Publicado: octubre de 2016

Crea un objeto NewArrayExpression que representa la creación de una matriz unidimensional y su inicialización desde un alista de elementos.

Espacio de nombres:   System.Linq.Expressions
Ensamblado:  System.Core (en System.Core.dll)

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

Parámetros

type
Type: System.Type

Type que representa el tipo de elemento de la matriz.

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

IEnumerable<T> que contiene los objetos Expression que se van a usar para rellenar la colección de Expressions.

Valor devuelto

Type: System.Linq.Expressions.NewArrayExpression

NewArrayExpression cuya propiedad NodeType es NewArrayInit y cuya propiedad Expressions se establece en el valor especificado.

Exception Condition
ArgumentNullException

El valor de type o initializers es null.

-o-

Un elemento de initializers es null.

InvalidOperationException

El Type propiedad de un elemento de initializers representa un tipo no asignable al tipo que type representa.

El Type propiedad de cada elemento de initializers debe representar un tipo asignable al tipo representado por type, posiblemente después de entre comillas.

System_CAPS_noteNota

Un elemento se van a presupuestar sólo si type es Expression. Entrecomillado significa que el elemento se ajusta en un Quote nodo. El nodo resultante es un UnaryExpression cuyo Operand propiedad es el elemento de initializers.

El Type propiedad del resultante NewArrayExpression representa un tipo de matriz cuyo rango es 1 y cuyo tipo de elemento es type.

En el ejemplo siguiente se muestra cómo utilizar el NewArrayInit método para crear un árbol de expresión que representa la creación de una matriz de cadenas unidimensional que se inicializa con una lista de expresiones de cadena.

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

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 3.5
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: