Partager via


Expression.ArrayIndex Méthode

Définition

Crée un Expression qui représente l’application d’un opérateur d’index de tableau.

Surcharges

Nom Description
ArrayIndex(Expression, Expression[])

Crée un MethodCallExpression qui représente l’application d’un opérateur d’index de tableau à un tableau multidimensionnel.

ArrayIndex(Expression, IEnumerable<Expression>)

Crée un MethodCallExpression qui représente l’application d’un opérateur d’index de tableau à un tableau de rang plusieurs.

ArrayIndex(Expression, Expression)

Crée un BinaryExpression qui représente l’application d’un opérateur d’index de tableau à un tableau de rang 1.

ArrayIndex(Expression, Expression[])

Source:
MethodCallExpression.cs
Source:
MethodCallExpression.cs
Source:
MethodCallExpression.cs
Source:
MethodCallExpression.cs
Source:
MethodCallExpression.cs

Crée un MethodCallExpression qui représente l’application d’un opérateur d’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 Arguments collection.

Retours

Qui MethodCallExpression a la NodeType propriété égale à Call et les ObjectArguments propriétés définies sur les valeurs spécifiées.

Exceptions

array ou indexes est null.

array. Le type ne représente pas un type de tableau.

- ou -

Rang de array. Le type ne correspond pas au nombre d’éléments dans indexes.

- ou -

La Type propriété d’un ou plusieurs éléments de indexes ne représente pas le Int32 type.

Exemples

L’exemple suivant montre comment utiliser la ArrayIndex(Expression, Expression[]) méthode pour créer un MethodCallExpression qui représente l’indexation 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 Int32. La Type propriété de doit représenter un type de array tableau dont le classement correspond au nombre d’éléments dans indexes.

Si le rang de array. Type 1, cette méthode retourne un BinaryExpression. La Left propriété est définie array sur et la Right propriété est définie sur l’élément unique de indexes. Propriété Type du type d’élément BinaryExpression 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 celle MethodInfo qui décrit la méthode Get d’instance publique 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
Source:
MethodCallExpression.cs
Source:
MethodCallExpression.cs

Crée un MethodCallExpression qui représente l’application d’un opérateur d’index de tableau à un tableau de rang plusieurs.

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

Pour Expression définir la Object propriété égale à.

indexes
IEnumerable<Expression>

Qui IEnumerable<T> contient des Expression objets à utiliser pour remplir la Arguments collection.

Retours

Qui MethodCallExpression a la NodeType propriété égale à Call et les ObjectArguments propriétés définies sur les valeurs spécifiées.

Exceptions

array ou indexes est null.

array. Le type ne représente pas un type de tableau.

- ou -

Rang de array. Le type ne correspond pas au nombre d’éléments dans indexes.

- ou -

La Type propriété d’un ou plusieurs éléments de indexes ne représente pas le Int32 type.

Exemples

L’exemple suivant montre comment utiliser la ArrayIndex(Expression, Expression[]) méthode pour créer un MethodCallExpression qui représente l’indexation 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 Int32. La Type propriété de doit représenter un type de array tableau dont le classement correspond au nombre d’éléments dans indexes.

Si le rang de array. Type 1, cette méthode retourne un BinaryExpression. La Left propriété est définie array sur et la Right propriété est définie sur l’élément unique de indexes. Propriété Type du type d’élément BinaryExpression 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 celle MethodInfo qui décrit la méthode Get d’instance publique 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
Source:
BinaryExpression.cs
Source:
BinaryExpression.cs

Crée un BinaryExpression qui représente l’application d’un opérateur d’index de tableau à un tableau de rang 1.

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

A Expression pour définir la Left propriété égale à.

index
Expression

A Expression pour définir la Right propriété égale à.

Retours

Qui BinaryExpression a la NodeType propriété égale à ArrayIndex et les LeftRight propriétés définies sur les valeurs spécifiées.

Exceptions

array ou index est null.

array. Le type ne représente pas un type de tableau.

- ou -

array. Le type représente un type de tableau dont le rang n’est pas 1.

- ou -

index. Le type ne représente pas le Int32 type.

Remarques

index doit représenter un index de type Int32.

La Method propriété du résultat BinaryExpression est null, et les deux IsLifted et IsLiftedToNull sont définies sur false. La Type propriété est égale au type d’élément de array. Type. La Conversion propriété est null.

S’applique à