Expression.ArrayIndex Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea un objeto Expression que representa la aplicación de un operador de índice de matriz.
Sobrecargas
ArrayIndex(Expression, Expression[]) |
Crea un objeto MethodCallExpression que representa la aplicación de un operador de índice de matriz a una matriz multidimensional. |
ArrayIndex(Expression, IEnumerable<Expression>) |
Crea un objeto MethodCallExpression que representa la aplicación de un operador de índice de matriz a una matriz cuyo rango es mayor que uno. |
ArrayIndex(Expression, Expression) |
Crea un objeto BinaryExpression que representa la aplicación de un operador de índice de matriz a una matriz de rango uno. |
ArrayIndex(Expression, Expression[])
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
Crea un objeto MethodCallExpression que representa la aplicación de un operador de índice de matriz a una matriz multidimensional.
public:
static System::Linq::Expressions::MethodCallExpression ^ ArrayIndex(System::Linq::Expressions::Expression ^ array, ... cli::array <System::Linq::Expressions::Expression ^> ^ indexes);
public static System.Linq.Expressions.MethodCallExpression ArrayIndex (System.Linq.Expressions.Expression array, params System.Linq.Expressions.Expression[] indexes);
static member ArrayIndex : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.MethodCallExpression
Public Shared Function ArrayIndex (array As Expression, ParamArray indexes As Expression()) As MethodCallExpression
Parámetros
- array
- Expression
Matriz de instancias o índices Expression para la operación de índice de matriz.
- indexes
- Expression[]
Matriz de objetos Expression que se va a usar para rellenar la colección de Arguments.
Devoluciones
MethodCallExpression cuya propiedad NodeType es Call y cuyas propiedades Object y Arguments se establecen en los valores especificados.
Excepciones
array
o indexes
es null
.
array
.Type no representa un tipo de matriz.
o bien
El rango de array
.Type no coincide con el número de elementos en indexes
.
o bien
La propiedad Type de uno o varios elementos de indexes
no representa el tipo Int32.
Ejemplos
En el ejemplo siguiente se muestra cómo usar el ArrayIndex(Expression, Expression[]) método para crear un MethodCallExpression objeto que representa la indexación en una matriz bidimensional.
string[,] gradeArray =
{ {"chemistry", "history", "mathematics"}, {"78", "61", "82"} };
System.Linq.Expressions.Expression arrayExpression =
System.Linq.Expressions.Expression.Constant(gradeArray);
// Create a MethodCallExpression that represents indexing
// into the two-dimensional array 'gradeArray' at (0, 2).
// Executing the expression would return "mathematics".
System.Linq.Expressions.MethodCallExpression methodCallExpression =
System.Linq.Expressions.Expression.ArrayIndex(
arrayExpression,
System.Linq.Expressions.Expression.Constant(0),
System.Linq.Expressions.Expression.Constant(2));
Console.WriteLine(methodCallExpression.ToString());
// This code produces the following output:
//
// value(System.String[,]).Get(0, 2)
Dim gradeArray(,) As String = _
{{"chemistry", "history", "mathematics"}, {"78", "61", "82"}}
Dim arrayExpression As System.Linq.Expressions.Expression = _
System.Linq.Expressions.Expression.Constant(gradeArray)
' Create a MethodCallExpression that represents indexing
' into the two-dimensional array 'gradeArray' at (0, 2).
' Executing the expression would return "mathematics".
Dim methodCallExpression As System.Linq.Expressions.MethodCallExpression = _
System.Linq.Expressions.Expression.ArrayIndex( _
arrayExpression, _
System.Linq.Expressions.Expression.Constant(0), _
System.Linq.Expressions.Expression.Constant(2))
Console.WriteLine(methodCallExpression.ToString())
' This code produces the following output:
'
' value(System.String[,]).Get(0, 2)
Comentarios
Cada elemento de indexes
debe tener Type el mismo valor que Int32. La Type propiedad de debe representar un tipo de array
matriz cuya clasificación coincide con el número de elementos de indexes
.
Si el rango de array
. El tipo es 1, este método devuelve un BinaryExpression. La Left propiedad se establece array
en y la Right propiedad se establece en el único elemento de indexes
. La Type propiedad de BinaryExpression representa el tipo de elemento de array
. Tipo.
Si el rango de array
. El tipo es más de uno, este método devuelve un MethodCallExpression. La Method propiedad se establece en que MethodInfo describe el método Get
de instancia pública en el tipo representado por la Type propiedad de array
.
Se aplica a
ArrayIndex(Expression, IEnumerable<Expression>)
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
Crea un objeto MethodCallExpression que representa la aplicación de un operador de índice de matriz a una matriz cuyo rango es mayor que uno.
public:
static System::Linq::Expressions::MethodCallExpression ^ ArrayIndex(System::Linq::Expressions::Expression ^ array, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ indexes);
public static System.Linq.Expressions.MethodCallExpression ArrayIndex (System.Linq.Expressions.Expression array, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> indexes);
static member ArrayIndex : System.Linq.Expressions.Expression * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.MethodCallExpression
Public Shared Function ArrayIndex (array As Expression, indexes As IEnumerable(Of Expression)) As MethodCallExpression
Parámetros
- array
- Expression
Objeto Expression en el que se va a establecer la propiedad Object.
- indexes
- IEnumerable<Expression>
IEnumerable<T> que contiene los objetos Expression que se van a usar para rellenar la colección de Arguments.
Devoluciones
MethodCallExpression cuya propiedad NodeType es Call y cuyas propiedades Object y Arguments se establecen en los valores especificados.
Excepciones
array
o indexes
es null
.
array
.Type no representa un tipo de matriz.
o bien
El rango de array
.Type no coincide con el número de elementos en indexes
.
o bien
La propiedad Type de uno o varios elementos de indexes
no representa el tipo Int32.
Ejemplos
En el ejemplo siguiente se muestra cómo usar el ArrayIndex(Expression, Expression[]) método para crear un MethodCallExpression objeto que representa la indexación en una matriz bidimensional.
string[,] gradeArray =
{ {"chemistry", "history", "mathematics"}, {"78", "61", "82"} };
System.Linq.Expressions.Expression arrayExpression =
System.Linq.Expressions.Expression.Constant(gradeArray);
// Create a MethodCallExpression that represents indexing
// into the two-dimensional array 'gradeArray' at (0, 2).
// Executing the expression would return "mathematics".
System.Linq.Expressions.MethodCallExpression methodCallExpression =
System.Linq.Expressions.Expression.ArrayIndex(
arrayExpression,
System.Linq.Expressions.Expression.Constant(0),
System.Linq.Expressions.Expression.Constant(2));
Console.WriteLine(methodCallExpression.ToString());
// This code produces the following output:
//
// value(System.String[,]).Get(0, 2)
Dim gradeArray(,) As String = _
{{"chemistry", "history", "mathematics"}, {"78", "61", "82"}}
Dim arrayExpression As System.Linq.Expressions.Expression = _
System.Linq.Expressions.Expression.Constant(gradeArray)
' Create a MethodCallExpression that represents indexing
' into the two-dimensional array 'gradeArray' at (0, 2).
' Executing the expression would return "mathematics".
Dim methodCallExpression As System.Linq.Expressions.MethodCallExpression = _
System.Linq.Expressions.Expression.ArrayIndex( _
arrayExpression, _
System.Linq.Expressions.Expression.Constant(0), _
System.Linq.Expressions.Expression.Constant(2))
Console.WriteLine(methodCallExpression.ToString())
' This code produces the following output:
'
' value(System.String[,]).Get(0, 2)
Comentarios
Cada elemento de indexes
debe tener Type el mismo valor que Int32. La Type propiedad de debe representar un tipo de array
matriz cuya clasificación coincide con el número de elementos de indexes
.
Si el rango de array
. El tipo es 1, este método devuelve un BinaryExpression. La Left propiedad se establece array
en y la Right propiedad se establece en el único elemento de indexes
. La Type propiedad de BinaryExpression representa el tipo de elemento de array
. Tipo.
Si el rango de array
. El tipo es más de uno, este método devuelve un MethodCallExpression. La Method propiedad se establece en que MethodInfo describe el método Get
de instancia pública en el tipo representado por la Type propiedad de array
.
Se aplica a
ArrayIndex(Expression, Expression)
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
Crea un objeto BinaryExpression que representa la aplicación de un operador de índice de matriz a una matriz de rango uno.
public:
static System::Linq::Expressions::BinaryExpression ^ ArrayIndex(System::Linq::Expressions::Expression ^ array, System::Linq::Expressions::Expression ^ index);
public static System.Linq.Expressions.BinaryExpression ArrayIndex (System.Linq.Expressions.Expression array, System.Linq.Expressions.Expression index);
static member ArrayIndex : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function ArrayIndex (array As Expression, index As Expression) As BinaryExpression
Parámetros
- array
- Expression
Expression en el que se va a establecer la propiedad Left.
- index
- Expression
Expression en el que se va a establecer la propiedad Right.
Devoluciones
BinaryExpression cuya propiedad NodeType es ArrayIndex y cuyas propiedades Left y Right se establecen en los valores especificados.
Excepciones
array
o index
es null
.
array
.Type no representa un tipo de matriz.
o bien
array
.Type representa un tipo de matriz cuyo rango no es 1.
o bien
index
.Type no representa el tipo Int32.
Comentarios
index
debe representar un índice de tipo Int32.
La Method propiedad del resultante BinaryExpression es null
, y y IsLiftedIsLiftedToNull se establecen en false
. La Type propiedad es igual al tipo de elemento de array
. Tipo. La propiedad Conversion es null
.