Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Expression.ArrayIndex (Expression, Expression[])

 

Data di pubblicazione: ottobre 2016

Crea un oggetto MethodCallExpression che rappresenta l'applicazione di un operatore di indice di matrice a una matrice multidimensionale.

Spazio dei nomi:   System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

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

Parametri

array
Type: System.Linq.Expressions.Expression

Matrice di istanze o indici di Expression per l'operazione di indicizzazione delle matrici.

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

Matrice di oggetti Expression da usare per popolare la raccolta Arguments.

Valore restituito

Type: System.Linq.Expressions.MethodCallExpression

Oggetto MethodCallExpression la cui proprietà NodeType è uguale a Call e le cui proprietà Object e Arguments sono impostate sui valori specificati.

Exception Condition
ArgumentNullException

array o indexes è null.

ArgumentException

array. Tipo non rappresenta un tipo di matrice.

-oppure-

Il rango di array. Tipo non corrisponde al numero di elementi in indexes.

-oppure-

Il Type proprietà di uno o più elementi di indexes non rappresenta il Int32 tipo.

Ogni elemento di indexes deve avere Type uguale a Int32. Il Type proprietà array deve rappresentare un tipo di matrice il cui rango corrisponde al numero di elementi in indexes.

Se il rango di array. Type è 1, questo metodo restituisce un BinaryExpression. Il Left è impostata su array e Right proprietà è impostata per il singolo elemento indexes. Il Type di proprietà diBinaryExpression rappresenta il tipo di elemento di array. Tipo.

Se il rango di array. Tipo è maggiore di uno, questo metodo restituisce un MethodCallExpression. Il Method è impostata sul MethodInfo che descrive il metodo di istanza pubblica Get al tipo rappresentato dal Type proprietà di array.

Nell'esempio seguente viene illustrato come utilizzare il ArrayIndex(Expression, Expression[]) metodo per creare un MethodCallExpression che rappresenta l'indicizzazione in una matrice bidimensionale.

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)

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: