Expression.ArrayIndex Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří operátor Expression , který představuje použití operátoru indexu pole.
Přetížení
ArrayIndex(Expression, Expression[]) |
Vytvoří objekt MethodCallExpression , který představuje použití operátoru indexu pole na multidimenzionální pole. |
ArrayIndex(Expression, IEnumerable<Expression>) |
Vytvoří objekt MethodCallExpression , který představuje použití operátoru indexu pole na pole s pořadím více než jeden. |
ArrayIndex(Expression, Expression) |
Vytvoří objekt BinaryExpression , který představuje použití operátoru indexu pole na pole s pořadím 1. |
ArrayIndex(Expression, Expression[])
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
Vytvoří objekt MethodCallExpression , který představuje použití operátoru indexu pole na multidimenzionální pole.
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
Pole Expression instancí – indexy pro operaci indexu pole.
- indexes
- Expression[]
Pole Expression objektů, které se mají použít k naplnění Arguments kolekce.
Návraty
Vlastnost MethodCallExpression a, která má NodeType vlastnost rovna Call a Object vlastnosti a Arguments nastavené na zadané hodnoty.
Výjimky
array
nebo indexes
je null
.
array
. Typ nepředstavuje typ pole.
-nebo-
Pořadí array
. Typ neodpovídá počtu prvků v indexes
nástroji .
-nebo-
Vlastnost Type jednoho nebo více prvků indexes
nepředstavuje Int32 typ.
Příklady
Následující příklad ukazuje, jak použít metodu ArrayIndex(Expression, Expression[]) k vytvoření MethodCallExpression , který představuje indexování do dvourozměrného pole.
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)
Poznámky
Každý prvek musí indexes
být Type roven hodnotě Int32. Vlastnost Typearray
musí představovat typ pole, jehož pořadí odpovídá počtu prvků v indexes
souboru .
Pokud je pořadí array
. Typ je 1, tato metoda vrátí BinaryExpressionhodnotu . Vlastnost Left je nastavena na array
a Right vlastnost je nastavena na jeden prvek objektu indexes
. Vlastnost TypeBinaryExpression představuje typ array
prvku . Typ.
Pokud je pořadí array
. Typ je více než jeden, tato metoda vrátí MethodCallExpression. Vlastnost Method je nastavena na MethodInfo hodnotu, která popisuje metodu Get
veřejné instance typu reprezentované Type vlastností array
.
Platí pro
ArrayIndex(Expression, IEnumerable<Expression>)
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
Vytvoří objekt MethodCallExpression , který představuje použití operátoru indexu pole na pole s pořadím více než 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
An Expression , která nastaví Object vlastnost na hodnotu rovna.
- indexes
- IEnumerable<Expression>
Objekt IEnumerable<T> obsahující objekty, které Expression se mají použít k naplnění Arguments kolekce.
Návraty
Vlastnost MethodCallExpression a, která má NodeType vlastnost rovna Call a Object vlastnosti a Arguments nastavené na zadané hodnoty.
Výjimky
array
nebo indexes
je null
.
array
. Typ nepředstavuje typ pole.
-nebo-
Pořadí array
. Typ neodpovídá počtu prvků v indexes
nástroji .
-nebo-
Vlastnost Type jednoho nebo více prvků indexes
nepředstavuje Int32 typ.
Příklady
Následující příklad ukazuje, jak použít metodu ArrayIndex(Expression, Expression[]) k vytvoření MethodCallExpression , který představuje indexování do dvourozměrného pole.
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)
Poznámky
Každý prvek musí indexes
být Type roven hodnotě Int32. Vlastnost Typearray
musí představovat typ pole, jehož pořadí odpovídá počtu prvků v indexes
souboru .
Pokud je pořadí array
. Typ je 1, tato metoda vrátí BinaryExpressionhodnotu . Vlastnost Left je nastavena na array
a Right vlastnost je nastavena na jeden prvek objektu indexes
. Vlastnost TypeBinaryExpression představuje typ array
prvku . Typ.
Pokud je pořadí array
. Typ je více než jeden, tato metoda vrátí MethodCallExpression. Vlastnost Method je nastavena na MethodInfo hodnotu, která popisuje metodu Get
veřejné instance typu reprezentované Type vlastností array
.
Platí pro
ArrayIndex(Expression, Expression)
- Zdroj:
- BinaryExpression.cs
- Zdroj:
- BinaryExpression.cs
- Zdroj:
- BinaryExpression.cs
Vytvoří objekt BinaryExpression , který představuje použití operátoru indexu pole na pole s pořadím 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
Parametry
- array
- Expression
A Expression , aby se vlastnost nastavil Left na hodnotu rovna.
- index
- Expression
A Expression , aby se vlastnost nastavil Right na hodnotu rovna.
Návraty
Vlastnost BinaryExpression a, která má NodeType vlastnost rovna ArrayIndex a Left vlastnosti a Right nastavené na zadané hodnoty.
Výjimky
array
nebo index
je null
.
array
. Typ nepředstavuje typ pole.
-nebo-
array
. Typ představuje typ pole, jehož pořadí není 1.
-nebo-
index
. Typ nepředstavuje Int32 typ.
Poznámky
index
musí představovat index typu Int32.
Vlastnost Method výsledného BinaryExpression objektu je null
a obě IsLiftedIsLiftedToNull a jsou nastaveny na false
hodnotu . Vlastnost Type se rovná typu elementu array
. Typ. Vlastnost Conversion je null
.