Expression.ArrayIndex Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Crée un Expression qui représente l'application d'un opérateur index de tableau.
Surcharges
ArrayIndex(Expression, Expression[]) |
Crée un MethodCallExpression qui représente l'application d'un opérateur index de tableau à un tableau multidimensionnel. |
ArrayIndex(Expression, IEnumerable<Expression>) |
Crée un MethodCallExpression qui représente l'application d'un opérateur index de tableau à un tableau de rang supérieur à un. |
ArrayIndex(Expression, Expression) |
Crée un BinaryExpression qui représente l'application d'un opérateur index de tableau à un tableau de rang un. |
ArrayIndex(Expression, Expression[])
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
Crée un MethodCallExpression qui représente l'application d'un opérateur index de tableau à un tableau multidimensionnel.
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
Paramètres
- array
- Expression
Tableau d'instances Expression, index pour l'opération d'index de tableau.
- indexes
- Expression[]
Tableau d'objets Expression à utiliser pour remplir la collection Arguments.
Retours
MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Object et Arguments ont les valeurs spécifiées.
Exceptions
array
ou indexes
est null
.
array
.Type ne représente pas un type de tableau.
- ou -
Le rang de array
.Type ne correspond pas au nombre d'éléments dans indexes
.
- ou -
La propriété Type d'un ou plusieurs éléments de indexes
ne représente pas le type Int32.
Exemples
L’exemple suivant montre comment utiliser la ArrayIndex(Expression, Expression[]) méthode pour créer un qui représente l’indexation MethodCallExpression dans un tableau à deux dimensions.
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)
Remarques
Chaque élément de indexes
doit avoir Type la valeur de Int32. La Type propriété de array
doit représenter un type de tableau dont le rang correspond au nombre d’éléments dans indexes
.
Si le rang de array
. Le type est 1, cette méthode retourne un BinaryExpression. La Left propriété est définie sur array
et la Right propriété est définie sur l’élément unique de indexes
. La Type propriété de représente BinaryExpression le type d’élément de array
. Type.
Si le rang de array
. Type est plusieurs, cette méthode retourne un MethodCallExpression. La Method propriété est définie sur le MethodInfo qui décrit la méthode Get
publique instance sur le type représenté par la Type propriété de array
.
S’applique à
ArrayIndex(Expression, IEnumerable<Expression>)
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
Crée un MethodCallExpression qui représente l'application d'un opérateur index de tableau à un tableau de rang supérieur à un.
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
Paramètres
- array
- Expression
Expression auquel la propriété Object doit être égale.
- indexes
- IEnumerable<Expression>
IEnumerable<T> qui contient des objets Expression à utiliser pour remplir la collection Arguments.
Retours
MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Object et Arguments ont les valeurs spécifiées.
Exceptions
array
ou indexes
est null
.
array
.Type ne représente pas un type de tableau.
- ou -
Le rang de array
.Type ne correspond pas au nombre d'éléments dans indexes
.
- ou -
La propriété Type d'un ou plusieurs éléments de indexes
ne représente pas le type Int32.
Exemples
L’exemple suivant montre comment utiliser la ArrayIndex(Expression, Expression[]) méthode pour créer un qui représente l’indexation MethodCallExpression dans un tableau à deux dimensions.
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)
Remarques
Chaque élément de indexes
doit avoir Type la valeur de Int32. La Type propriété de array
doit représenter un type de tableau dont le rang correspond au nombre d’éléments dans indexes
.
Si le rang de array
. Le type est 1, cette méthode retourne un BinaryExpression. La Left propriété est définie sur array
et la Right propriété est définie sur l’élément unique de indexes
. La Type propriété de représente BinaryExpression le type d’élément de array
. Type.
Si le rang de array
. Type est plusieurs, cette méthode retourne un MethodCallExpression. La Method propriété est définie sur le MethodInfo qui décrit la méthode Get
publique instance sur le type représenté par la Type propriété de array
.
S’applique à
ArrayIndex(Expression, Expression)
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
Crée un BinaryExpression qui représente l'application d'un opérateur index de tableau à un tableau de rang un.
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
Paramètres
- array
- Expression
Expression auquel la propriété Left doit être égale.
- index
- Expression
Expression auquel la propriété Right doit être égale.
Retours
BinaryExpression dont la propriété NodeType est égale à ArrayIndex et dont les propriétés Left et Right ont les valeurs spécifiées.
Exceptions
array
ou index
est null
.
array
.Type ne représente pas un type de tableau.
- ou -
array
.Type représente un type de tableau dont le rang n'est pas 1.
- ou -
index
.Type ne représente pas le type Int32.
Remarques
index
doit représenter un index de type Int32.
La Method propriété du résultat BinaryExpression est null
, et les deux IsLiftedIsLiftedToNull sont définis sur false
. La Type propriété est égale au type d’élément de array
. Type. La propriété Conversion a la valeur null
.