Expression.ArrayIndex Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria uma Expression que representa a aplicação de um operador de índice.
Sobrecargas
ArrayIndex(Expression, Expression[]) |
Cria um MethodCallExpression que representa a aplicação de um operador de índice de matriz a uma matriz multidimensional. |
ArrayIndex(Expression, IEnumerable<Expression>) |
Cria uma MethodCallExpression que representa a aplicação de um operador de índice de matriz a uma matriz de classificação superior a um. |
ArrayIndex(Expression, Expression) |
Cria uma BinaryExpression que representa a aplicação de um operador de índice de matriz a uma matriz de classificação um. |
ArrayIndex(Expression, Expression[])
- Origem:
- MethodCallExpression.cs
- Origem:
- MethodCallExpression.cs
- Origem:
- MethodCallExpression.cs
Cria um MethodCallExpression que representa a aplicação de um operador de índice de matriz a uma 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
Uma matriz de instâncias Expression/índices para a operação de índice da matriz.
- indexes
- Expression[]
Uma matriz de objetos Expression a serem usados para popular a coleção de Arguments.
Retornos
Um MethodCallExpression que tem a propriedade NodeType igual a Call e as propriedades Object e Arguments definidas com os valores especificados.
Exceções
array
ou indexes
é null
.
array
.Type não representa um tipo de matriz.
- ou -
A classificação de array
.Type não corresponde ao número de elementos em indexes
.
- ou -
A propriedade Type de um ou mais elementos de indexes
não representa o tipo Int32.
Exemplos
O exemplo a seguir demonstra como usar o ArrayIndex(Expression, Expression[]) método para criar um MethodCallExpression que representa a indexação em uma 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)
Comentários
Cada elemento de indexes
deve ter Type igual a Int32. A Type propriedade de deve representar um tipo de array
matriz cuja classificação corresponde ao número de elementos em indexes
.
Se a classificação de array
. O tipo é 1, esse método retorna um BinaryExpression. A Left propriedade é definida array
como e a Right propriedade é definida como o único elemento de indexes
. A Type propriedade do BinaryExpression representa o tipo de elemento de array
. Tipo.
Se a classificação de array
. O tipo é mais de um, esse método retorna um MethodCallExpression. A Method propriedade é definida como o MethodInfo que descreve o método Get
de instância pública no tipo representado pela Type propriedade de array
.
Aplica-se a
ArrayIndex(Expression, IEnumerable<Expression>)
- Origem:
- MethodCallExpression.cs
- Origem:
- MethodCallExpression.cs
- Origem:
- MethodCallExpression.cs
Cria uma MethodCallExpression que representa a aplicação de um operador de índice de matriz a uma matriz de classificação superior a um.
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
Um Expression para definir a propriedade Object igual a ele.
- indexes
- IEnumerable<Expression>
Um IEnumerable<T> que contém objetos Expression a serem usados para preencher a coleção de Arguments.
Retornos
Um MethodCallExpression que tem a propriedade NodeType igual a Call e as propriedades Object e Arguments definidas com os valores especificados.
Exceções
array
ou indexes
é null
.
array
.Type não representa um tipo de matriz.
- ou -
A classificação de array
.Type não corresponde ao número de elementos em indexes
.
- ou -
A propriedade Type de um ou mais elementos de indexes
não representa o tipo Int32.
Exemplos
O exemplo a seguir demonstra como usar o ArrayIndex(Expression, Expression[]) método para criar um MethodCallExpression que representa a indexação em uma 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)
Comentários
Cada elemento de indexes
deve ter Type igual a Int32. A Type propriedade de deve representar um tipo de array
matriz cuja classificação corresponde ao número de elementos em indexes
.
Se a classificação de array
. O tipo é 1, esse método retorna um BinaryExpression. A Left propriedade é definida array
como e a Right propriedade é definida como o único elemento de indexes
. A Type propriedade do BinaryExpression representa o tipo de elemento de array
. Tipo.
Se a classificação de array
. O tipo é mais de um, esse método retorna um MethodCallExpression. A Method propriedade é definida como o MethodInfo que descreve o método Get
de instância pública no tipo representado pela Type propriedade de array
.
Aplica-se a
ArrayIndex(Expression, Expression)
- Origem:
- BinaryExpression.cs
- Origem:
- BinaryExpression.cs
- Origem:
- BinaryExpression.cs
Cria uma BinaryExpression que representa a aplicação de um operador de índice de matriz a uma matriz de classificação um.
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
Um Expression para definir a propriedade Left igual a ele.
- index
- Expression
Um Expression para definir a propriedade Right igual a ele.
Retornos
Um BinaryExpression que tem a propriedade NodeType igual a ArrayIndex e as propriedades Left e Right definidas com os valores especificados.
Exceções
array
ou index
é null
.
array
.Type não representa um tipo de matriz.
- ou -
array
.Type representa um tipo de matriz cuja classificação não é 1.
- ou -
index
.Type não representa o tipo Int32.
Comentários
index
deve representar um índice do tipo Int32.
A Method propriedade do resultante BinaryExpression é null
, e e IsLiftedIsLiftedToNull são definidos false
como . A Type propriedade é igual ao tipo de elemento de array
. Tipo. A propriedade Conversion é null
.