Expression.ArrayIndex Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt eine Expression, die das Anwenden eines Arrayindexoperators darstellt.
Überlädt
ArrayIndex(Expression, Expression[]) |
Erstellt eine MethodCallExpression, die das Anwenden eines Arrayindexoperators auf ein mehrdimensionales Array darstellt. |
ArrayIndex(Expression, IEnumerable<Expression>) |
Erstellt eine MethodCallExpression, die das Anwenden eines Arrayindexoperators auf ein Array mit einem Rang größer als eins darstellt. |
ArrayIndex(Expression, Expression) |
Erstellt eine BinaryExpression, die das Anwenden eines Arrayindexoperators auf ein Array mit Rang eins darstellt. |
ArrayIndex(Expression, Expression[])
- Quelle:
- MethodCallExpression.cs
- Quelle:
- MethodCallExpression.cs
- Quelle:
- MethodCallExpression.cs
Erstellt eine MethodCallExpression, die das Anwenden eines Arrayindexoperators auf ein mehrdimensionales Array darstellt.
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
Ein Array von Expression-Instanzen - Indizes für den Arrayindizierungsvorgang.
- indexes
- Expression[]
Ein Array von Expression-Objekten, mit denen die Arguments-Auflistung aufgefüllt wird.
Gibt zurück
Ein MethodCallExpression, bei dem die NodeType-Eigenschaft gleich Call ist und die Object-Eigenschaft sowie die Arguments-Eigenschaft auf die angegebenen Werte festgelegt sind.
Ausnahmen
array
oder indexes
ist null
.
array
.Type stellt keinen Arraytyp dar.
- oder -
Der Rang von array
.Type entspricht nicht der Anzahl der Elemente in indexes
.
- oder -
Die Type-Eigenschaft eines oder mehrerer Elemente von indexes
stellt nicht den Int32-Typ dar.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie sie mit der ArrayIndex(Expression, Expression[]) -Methode eine MethodCallExpression erstellen, die die Indizierung in ein zweidimensionales Array darstellt.
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)
Hinweise
Jedes Element von indexes
muss gleich sein TypeInt32. Die Type -Eigenschaft von array
muss einen Arraytyp darstellen, dessen Rang mit der Anzahl der Elemente in indexes
übereinstimmt.
Wenn der Rang von ist array
. Typ ist 1. Diese Methode gibt einen BinaryExpressionzurück. Die Left -Eigenschaft wird auf array
festgelegt, und die Right -Eigenschaft wird auf das einzelne Element von indexes
festgelegt. Die Type -Eigenschaft von BinaryExpression stellt den Elementtyp von array
dar. Typ.
Wenn der Rang von ist array
. Typ ist mehr als eins, diese Methode gibt einen MethodCallExpressionzurück. Die Method -Eigenschaft ist auf die MethodInfo festgelegt, die die öffentliche instance-Methode Get
für den Typ beschreibt, der durch die Type -Eigenschaft von array
dargestellt wird.
Gilt für:
ArrayIndex(Expression, IEnumerable<Expression>)
- Quelle:
- MethodCallExpression.cs
- Quelle:
- MethodCallExpression.cs
- Quelle:
- MethodCallExpression.cs
Erstellt eine MethodCallExpression, die das Anwenden eines Arrayindexoperators auf ein Array mit einem Rang größer als eins darstellt.
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
Ein Expression, auf den die Object-Eigenschaft festgelegt werden soll.
- indexes
- IEnumerable<Expression>
Ein IEnumerable<T>, das Expression-Objekte enthält, mit denen die Arguments-Auflistung aufgefüllt werden soll.
Gibt zurück
Ein MethodCallExpression, bei dem die NodeType-Eigenschaft gleich Call ist und die Object-Eigenschaft sowie die Arguments-Eigenschaft auf die angegebenen Werte festgelegt sind.
Ausnahmen
array
oder indexes
ist null
.
array
.Type stellt keinen Arraytyp dar.
- oder -
Der Rang von array
.Type entspricht nicht der Anzahl der Elemente in indexes
.
- oder -
Die Type-Eigenschaft eines oder mehrerer Elemente von indexes
stellt nicht den Int32-Typ dar.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie sie mit der ArrayIndex(Expression, Expression[]) -Methode eine MethodCallExpression erstellen, die die Indizierung in ein zweidimensionales Array darstellt.
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)
Hinweise
Jedes Element von indexes
muss gleich sein TypeInt32. Die Type -Eigenschaft von array
muss einen Arraytyp darstellen, dessen Rang mit der Anzahl der Elemente in indexes
übereinstimmt.
Wenn der Rang von ist array
. Typ ist 1. Diese Methode gibt einen BinaryExpressionzurück. Die Left -Eigenschaft wird auf array
festgelegt, und die Right -Eigenschaft wird auf das einzelne Element von indexes
festgelegt. Die Type -Eigenschaft von BinaryExpression stellt den Elementtyp von array
dar. Typ.
Wenn der Rang von ist array
. Typ ist mehr als eins, diese Methode gibt einen MethodCallExpressionzurück. Die Method -Eigenschaft ist auf die MethodInfo festgelegt, die die öffentliche instance-Methode Get
für den Typ beschreibt, der durch die Type -Eigenschaft von array
dargestellt wird.
Gilt für:
ArrayIndex(Expression, Expression)
- Quelle:
- BinaryExpression.cs
- Quelle:
- BinaryExpression.cs
- Quelle:
- BinaryExpression.cs
Erstellt eine BinaryExpression, die das Anwenden eines Arrayindexoperators auf ein Array mit Rang eins darstellt.
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
Ein Expression, auf das die Left-Eigenschaft festgelegt werden soll.
- index
- Expression
Ein Expression, auf das die Right-Eigenschaft festgelegt werden soll.
Gibt zurück
Ein BinaryExpression, bei dem die NodeType-Eigenschaft gleich ArrayIndex ist und die Left-Eigenschaft sowie die Right-Eigenschaft auf die angegebenen Werte festgelegt sind.
Ausnahmen
array
oder index
ist null
.
array
.Type stellt keinen Arraytyp dar.
- oder -
array
.Type stellt einen Arraytyp dar, dessen Rang nicht 1 ist.
- oder -
index
.Type stellt nicht den Int32.Type dar.
Hinweise
index
muss einen Index vom Typ Int32darstellen.
Die Method Eigenschaft des resultierenden BinaryExpression ist null
, und beide IsLifted und IsLiftedToNull sind auf false
festgelegt. Die Type -Eigenschaft ist gleich dem Elementtyp von array
. Typ. Die Conversion-Eigenschaft ist null
.