Partager via


Expression.ArrayIndex Méthode

Définition

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.

S’applique à