Udostępnij za pośrednictwem


Expression.ArrayIndex Metoda

Definicja

Tworzy obiekt Expression reprezentujący zastosowanie operatora indeksu tablicy.

Przeciążenia

ArrayIndex(Expression, Expression[])

Tworzy obiekt MethodCallExpression reprezentujący zastosowanie operatora indeksu tablicy do tablicy wielowymiarowej.

ArrayIndex(Expression, IEnumerable<Expression>)

Tworzy obiekt MethodCallExpression , który reprezentuje zastosowanie operatora indeksu tablicy do tablicy rangi więcej niż jeden.

ArrayIndex(Expression, Expression)

Tworzy obiekt BinaryExpression reprezentujący zastosowanie operatora indeksu tablicy do tablicy rangi.

ArrayIndex(Expression, Expression[])

Źródło:
MethodCallExpression.cs
Źródło:
MethodCallExpression.cs
Źródło:
MethodCallExpression.cs

Tworzy obiekt MethodCallExpression reprezentujący zastosowanie operatora indeksu tablicy do tablicy wielowymiarowej.

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

Parametry

array
Expression

Tablica Expression wystąpień — indeksy dla operacji indeksu tablicy.

indexes
Expression[]

Tablica Expression obiektów do użycia w celu wypełnienia kolekcji Arguments .

Zwraca

WłaściwośćMethodCallExpression, która ma właściwość równą CallNodeType właściwości i i ArgumentsObject ustawioną na określone wartości.

Wyjątki

array lub indexes to null.

array. Typ nie reprezentuje typu tablicy.

-lub-

Ranga . array Typ nie jest zgodny z liczbą elementów w elemecie indexes.

-lub-

Właściwość Type jednego lub większej indexes liczby elementów nie reprezentuje Int32 typu.

Przykłady

W poniższym przykładzie pokazano, jak za pomocą ArrayIndex(Expression, Expression[]) metody utworzyć MethodCallExpression indeksowanie w tablicy dwuwymiarowej.

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)

Uwagi

Każdy element musi indexes mieć Type wartość .Int32 Właściwość Typearray musi reprezentować typ tablicy, którego ranga odpowiada liczbie elementów w indexesobiekcie .

Jeśli ranga klasy array. Typ to 1. Ta metoda zwraca wartość BinaryExpression. Właściwość Left jest ustawiona na array , a Right właściwość jest ustawiona na pojedynczy element .indexes Właściwość Type elementu BinaryExpression reprezentuje typ arrayelementu . Typu.

Jeśli ranga klasy array. Typ jest więcej niż jeden. Ta metoda zwraca wartość MethodCallExpression. Właściwość Method jest ustawiona na MethodInfo opis metody Get wystąpienia publicznego w typie reprezentowanym Type przez właściwość .array

Dotyczy

ArrayIndex(Expression, IEnumerable<Expression>)

Źródło:
MethodCallExpression.cs
Źródło:
MethodCallExpression.cs
Źródło:
MethodCallExpression.cs

Tworzy obiekt MethodCallExpression , który reprezentuje zastosowanie operatora indeksu tablicy do tablicy rangi więcej niż jeden.

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

Parametry

array
Expression

Element , Expression aby ustawić właściwość równą Object .

indexes
IEnumerable<Expression>

Obiekt IEnumerable<T> zawierający Expression obiekty używane do wypełniania kolekcji Arguments .

Zwraca

WłaściwośćMethodCallExpression, która ma właściwość równą CallNodeType właściwości i i ArgumentsObject ustawioną na określone wartości.

Wyjątki

array lub indexes to null.

array. Typ nie reprezentuje typu tablicy.

-lub-

Ranga . array Typ nie jest zgodny z liczbą elementów w elemecie indexes.

-lub-

Właściwość Type jednego lub większej indexes liczby elementów nie reprezentuje Int32 typu.

Przykłady

W poniższym przykładzie pokazano, jak za pomocą ArrayIndex(Expression, Expression[]) metody utworzyć MethodCallExpression indeksowanie w tablicy dwuwymiarowej.

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)

Uwagi

Każdy element musi indexes mieć Type wartość .Int32 Właściwość Typearray musi reprezentować typ tablicy, którego ranga odpowiada liczbie elementów w indexesobiekcie .

Jeśli ranga klasy array. Typ to 1. Ta metoda zwraca wartość BinaryExpression. Właściwość Left jest ustawiona na array , a Right właściwość jest ustawiona na pojedynczy element .indexes Właściwość Type elementu BinaryExpression reprezentuje typ arrayelementu . Typu.

Jeśli ranga klasy array. Typ jest więcej niż jeden. Ta metoda zwraca wartość MethodCallExpression. Właściwość Method jest ustawiona na MethodInfo opis metody Get wystąpienia publicznego w typie reprezentowanym Type przez właściwość .array

Dotyczy

ArrayIndex(Expression, Expression)

Źródło:
BinaryExpression.cs
Źródło:
BinaryExpression.cs
Źródło:
BinaryExpression.cs

Tworzy obiekt BinaryExpression reprezentujący zastosowanie operatora indeksu tablicy do tablicy rangi.

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

Parametry

array
Expression

A Expression , aby ustawić właściwość równą Left .

index
Expression

A Expression , aby ustawić właściwość równą Right .

Zwraca

WłaściwośćBinaryExpression, która ma właściwość równą ArrayIndexNodeType właściwości i i RightLeft ustawioną na określone wartości.

Wyjątki

array lub index to null.

array. Typ nie reprezentuje typu tablicy.

-lub-

array. Typ reprezentuje typ tablicy, którego ranga nie jest równa 1.

-lub-

index. Typ nie reprezentuje Int32 typu.

Uwagi

index musi reprezentować indeks typu Int32.

Właściwość Method wynikowej BinaryExpression to null, i są IsLiftedIsLiftedToNull ustawione na falsewartość . Właściwość Type jest równa typowi arrayelementu . Typu. Właściwość Conversion to null.

Dotyczy