Bagikan melalui


Expression.ArrayIndex Metode

Definisi

Expression Membuat yang mewakili penerapan operator indeks array.

Overload

ArrayIndex(Expression, Expression[])

MethodCallExpression Membuat yang mewakili penerapan operator indeks array ke array multidimensi.

ArrayIndex(Expression, IEnumerable<Expression>)

MethodCallExpression Membuat yang mewakili penerapan operator indeks array ke array peringkat lebih dari satu.

ArrayIndex(Expression, Expression)

BinaryExpression Membuat yang mewakili penerapan operator indeks array ke array peringkat satu.

ArrayIndex(Expression, Expression[])

Sumber:
MethodCallExpression.cs
Sumber:
MethodCallExpression.cs
Sumber:
MethodCallExpression.cs

MethodCallExpression Membuat yang mewakili penerapan operator indeks array ke array multidimensi.

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

Parameter

array
Expression

Array Expression instans - indeks untuk operasi indeks array.

indexes
Expression[]

Array Expression objek yang digunakan untuk mengisi Arguments koleksi.

Mengembalikan

MethodCallExpression yang memiliki NodeType properti yang sama dengan Call dan Object properti dan Arguments diatur ke nilai yang ditentukan.

Pengecualian

array atau indexes adalah null.

array. Jenis tidak mewakili jenis array.

-atau-

Peringkat array. Jenis tidak cocok dengan jumlah elemen dalam indexes.

-atau-

Properti Type dari satu atau beberapa elemen indexes tidak mewakili Int32 jenis .

Contoh

Contoh berikut menunjukkan cara menggunakan ArrayIndex(Expression, Expression[]) metode untuk membuat MethodCallExpression yang mewakili pengindeksan ke dalam array dua dimensi.

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)

Keterangan

Setiap elemen indexes harus sama Type dengan Int32. Properti Type dari array harus mewakili jenis array yang peringkatnya cocok dengan jumlah elemen dalam indexes.

Jika peringkat array. Jenisnya adalah 1, metode ini mengembalikan BinaryExpression. Properti Left diatur ke array dan Right properti diatur ke elemen tunggal .indexes Properti Type dari BinaryExpression mewakili jenis elemen . array Jenis.

Jika peringkat array. Jenis lebih dari satu, metode ini mengembalikan MethodCallExpression. Properti Method diatur ke MethodInfo yang menjelaskan metode Get instans publik pada jenis yang diwakili oleh Type properti .array

Berlaku untuk

ArrayIndex(Expression, IEnumerable<Expression>)

Sumber:
MethodCallExpression.cs
Sumber:
MethodCallExpression.cs
Sumber:
MethodCallExpression.cs

MethodCallExpression Membuat yang mewakili penerapan operator indeks array ke array peringkat lebih dari satu.

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

Parameter

array
Expression

Untuk Expression mengatur properti sama Object dengan.

indexes
IEnumerable<Expression>

Yang IEnumerable<T> berisi Expression objek yang akan digunakan untuk mengisi Arguments koleksi.

Mengembalikan

MethodCallExpression yang memiliki NodeType properti yang sama dengan Call dan Object properti dan Arguments diatur ke nilai yang ditentukan.

Pengecualian

array atau indexes adalah null.

array. Jenis tidak mewakili jenis array.

-atau-

Peringkat array. Jenis tidak cocok dengan jumlah elemen dalam indexes.

-atau-

Properti Type dari satu atau beberapa elemen indexes tidak mewakili Int32 jenis .

Contoh

Contoh berikut menunjukkan cara menggunakan ArrayIndex(Expression, Expression[]) metode untuk membuat MethodCallExpression yang mewakili pengindeksan ke dalam array dua dimensi.

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)

Keterangan

Setiap elemen indexes harus sama Type dengan Int32. Properti Type dari array harus mewakili jenis array yang peringkatnya cocok dengan jumlah elemen dalam indexes.

Jika peringkat array. Jenisnya adalah 1, metode ini mengembalikan BinaryExpression. Properti Left diatur ke array dan Right properti diatur ke elemen tunggal .indexes Properti Type dari BinaryExpression mewakili jenis elemen . array Jenis.

Jika peringkat array. Jenis lebih dari satu, metode ini mengembalikan MethodCallExpression. Properti Method diatur ke MethodInfo yang menjelaskan metode Get instans publik pada jenis yang diwakili oleh Type properti .array

Berlaku untuk

ArrayIndex(Expression, Expression)

Sumber:
BinaryExpression.cs
Sumber:
BinaryExpression.cs
Sumber:
BinaryExpression.cs

BinaryExpression Membuat yang mewakili penerapan operator indeks array ke array peringkat satu.

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

Parameter

array
Expression

A Expression untuk mengatur Left properti sama dengan.

index
Expression

A Expression untuk mengatur Right properti sama dengan.

Mengembalikan

BinaryExpression yang memiliki NodeType properti yang sama dengan ArrayIndex dan Left properti dan Right diatur ke nilai yang ditentukan.

Pengecualian

array atau index adalah null.

array. Jenis tidak mewakili jenis array.

-atau-

array. Jenis mewakili jenis array yang peringkatnya bukan 1.

-atau-

index. Tipe tidak mewakili Int32 tipe.

Keterangan

index harus mewakili indeks jenis Int32.

Properti Method dari yang dihasilkan BinaryExpression adalah null, dan keduanya IsLifted dan IsLiftedToNull diatur ke false. Properti Type sama dengan jenis elemen . array Jenis. Properti Conversion adalah null.

Berlaku untuk