Expression.ArrayIndex Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Expression Egy tömbindex-operátor alkalmazását jelképező értéket hoz létre.
Túlterhelések
| Name | Description |
|---|---|
| ArrayIndex(Expression, Expression[]) |
Létrehoz egy MethodCallExpression tömbindex-operátor többdimenziós tömbre való alkalmazását jelképező értéket. |
| ArrayIndex(Expression, IEnumerable<Expression>) |
Létrehoz egy MethodCallExpression tömbindex-operátort egynél több rangot tartalmazó tömbre. |
| ArrayIndex(Expression, Expression) |
Olyan értéket BinaryExpression hoz létre, amely tömbindex-operátort alkalmaz egy rangsorolt tömbre. |
ArrayIndex(Expression, Expression[])
Létrehoz egy MethodCallExpression tömbindex-operátor többdimenziós tömbre való alkalmazását jelképező értéket.
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éterek
- array
- Expression
Példányok tömbje Expression – a tömbindex-művelet indexei.
- indexes
- Expression[]
A gyűjtemény feltöltéséhez használandó objektumok tömbje ExpressionArguments .
Válaszok
Az MethodCallExpression a tulajdonság, amelynek a NodeType tulajdonsága megegyezikCall, és Arguments a Object tulajdonságok a megadott értékekre vannak állítva.
Kivételek
array vagy indexes az null.
array. A típus nem tömbtípust jelöl.
-vagy-
A rangja array. A típus nem egyezik meg a fájl indexeselemeinek számával.
-vagy-
Egy Type vagy több elem tulajdonsága indexes nem felel meg a típusnak Int32 .
Példák
Az alábbi példa bemutatja, hogyan hozhat létre olyan metódustMethodCallExpression, ArrayIndex(Expression, Expression[]) amely egy kétdimenziós tömbbe való indexelést jelöl.
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)
Megjegyzések
Minden elemnek indexes egyenlőnek kell lennieType.Int32 A Type tulajdonságnak array olyan tömbtípust kell jelölnie, amelynek rangja megegyezik a benne lévő indexeselemek számával.
Ha a rangja array. A típus 1, ez a metódus egy BinaryExpression. A Left tulajdonság értéke array , a Right tulajdonság pedig a tulajdonság egyetlen elemére indexesvan állítva. A Type tulajdonság az BinaryExpression elem típusát arrayjelöli. Típus.
Ha a rangja array. A típus több, ez a metódus egy MethodCallExpression. A Method tulajdonság a nyilvános példány metódusát Get leíró értékre MethodInfo van állítva a tulajdonság arraytulajdonsága által Type képviselt típuson.
A következőre érvényes:
ArrayIndex(Expression, IEnumerable<Expression>)
Létrehoz egy MethodCallExpression tömbindex-operátort egynél több rangot tartalmazó tömbre.
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éterek
- array
- Expression
Egy Expression a tulajdonság egyenlő értékének beállításához Object .
- indexes
- IEnumerable<Expression>
A IEnumerable<T> gyűjtemény feltöltéséhez Arguments használandó objektumokat tartalmazó Expression objektum.
Válaszok
Az MethodCallExpression a tulajdonság, amelynek a NodeType tulajdonsága megegyezikCall, és Arguments a Object tulajdonságok a megadott értékekre vannak állítva.
Kivételek
array vagy indexes az null.
array. A típus nem tömbtípust jelöl.
-vagy-
A rangja array. A típus nem egyezik meg a fájl indexeselemeinek számával.
-vagy-
Egy Type vagy több elem tulajdonsága indexes nem felel meg a típusnak Int32 .
Példák
Az alábbi példa bemutatja, hogyan hozhat létre olyan metódustMethodCallExpression, ArrayIndex(Expression, Expression[]) amely egy kétdimenziós tömbbe való indexelést jelöl.
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)
Megjegyzések
Minden elemnek indexes egyenlőnek kell lennieType.Int32 A Type tulajdonságnak array olyan tömbtípust kell jelölnie, amelynek rangja megegyezik a benne lévő indexeselemek számával.
Ha a rangja array. A típus 1, ez a metódus egy BinaryExpression. A Left tulajdonság értéke array , a Right tulajdonság pedig a tulajdonság egyetlen elemére indexesvan állítva. A Type tulajdonság az BinaryExpression elem típusát arrayjelöli. Típus.
Ha a rangja array. A típus több, ez a metódus egy MethodCallExpression. A Method tulajdonság a nyilvános példány metódusát Get leíró értékre MethodInfo van állítva a tulajdonság arraytulajdonsága által Type képviselt típuson.
A következőre érvényes:
ArrayIndex(Expression, Expression)
Olyan értéket BinaryExpression hoz létre, amely tömbindex-operátort alkalmaz egy rangsorolt tömbre.
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éterek
- array
- Expression
A Expression érték a Left tulajdonság egyenlő értékének beállításához.
- index
- Expression
A Expression érték a Right tulajdonság egyenlő értékének beállításához.
Válaszok
Az BinaryExpression a tulajdonság, amelynek a NodeType tulajdonsága megegyezikArrayIndex, és Right a Left tulajdonságok a megadott értékekre vannak állítva.
Kivételek
array vagy index az null.
array. A típus nem tömbtípust jelöl.
-vagy-
array. A típus olyan tömbtípust jelöl, amelynek rangja nem 1.
-vagy-
index. A típus nem a típust Int32 jelöli.
Megjegyzések
index típusindexnek Int32kell lennie.
Az Method eredményként kapott BinaryExpression tulajdonság az null, és mindkettő IsLifted , és IsLiftedToNull a következőre falsevan állítva: . A Type tulajdonság megegyezik a következő elemtípussal array: . Típus. A Conversion tulajdonság null.