Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Expression.ArrayIndex-Methode: (Expression, Expression[])

 

Veröffentlicht: Oktober 2016

Erstellt eine MethodCallExpression, die das Anwenden eines Arrayindexoperators auf ein mehrdimensionales Array darstellt.

Namespace:   System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

public static MethodCallExpression ArrayIndex(
	Expression array,
	params Expression[] indexes
)

Parameter

array
Type: System.Linq.Expressions.Expression

Ein Array von Expression-Instanzen - Indizes für den Arrayindizierungsvorgang.

indexes
Type: System.Linq.Expressions.Expression[]

Ein Array von Expression-Objekten, mit denen die Arguments-Auflistung aufgefüllt wird.

Rückgabewert

Type: System.Linq.Expressions.MethodCallExpression

Ein MethodCallExpression, bei dem die NodeType-Eigenschaft gleich Call ist und die Object-Eigenschaft sowie die Arguments-Eigenschaft auf die angegebenen Werte festgelegt sind.

Exception Condition
ArgumentNullException

array oder indexes ist null.

ArgumentException

array. Type stellt einen Arraytyp nicht dar.

- oder -

Der Rang des array. Typ stimmt nicht mit der Anzahl von Elementen in indexes.

- oder -

Die Type -Eigenschaft ein oder mehrere Elemente von indexes stellt keine dar der Int32 Typ.

Jedes Element des indexes müssen Type gleich Int32. Die Type -Eigenschaft des array muss ein Array darstellen, dessen Rang der Anzahl der Elemente im entspricht indexes.

Wenn der Rang des array. 1 ist, diese Methode gibt ein BinaryExpression. Die Left -Eigenschaft wird festgelegt, um array und der Right -Eigenschaft wird festgelegt, um das einzige Element der indexes. Die Type Eigenschaft derBinaryExpression stellt den Elementtyp von array. Geben Sie ein.

Wenn der Rang des array. Typ ist mehr als ein, die diese Methode gibt ein MethodCallExpression. Die Method -Eigenschaft auf festgelegt ist der MethodInfo die die öffentliche Instanzmethode beschreibt Get für den Typ, dargestellt durch die Type -Eigenschaft des array.

Im folgenden Beispiel wird veranschaulicht, wie die ArrayIndex(Expression, Expression[]) Methode zum Erstellen einer MethodCallExpression 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)

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 3.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: