Expression.ArrayIndex Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea un oggetto Expression che rappresenta l'applicazione di un operatore di indice di matrice.
Overload
ArrayIndex(Expression, Expression[]) |
Crea un oggetto MethodCallExpression che rappresenta l'applicazione di un operatore di indice di matrice a una matrice multidimensionale. |
ArrayIndex(Expression, IEnumerable<Expression>) |
Crea un oggetto MethodCallExpressionche rappresenta l'applicazione di un operatore di indice di matrice a una matrice con numero di dimensioni maggiore di 1. |
ArrayIndex(Expression, Expression) |
Crea un oggetto BinaryExpression che rappresenta l'applicazione di un operatore di indice di matrice a una matrice con numero di dimensioni pari a 1. |
ArrayIndex(Expression, Expression[])
- Origine:
- MethodCallExpression.cs
- Origine:
- MethodCallExpression.cs
- Origine:
- MethodCallExpression.cs
Crea un oggetto MethodCallExpression che rappresenta l'applicazione di un operatore di indice di matrice a una matrice multidimensionale.
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
Parametri
- array
- Expression
Matrice di istanze o indici di Expression per l'operazione di indicizzazione delle matrici.
- indexes
- Expression[]
Matrice di oggetti Expression da usare per popolare la raccolta Arguments.
Restituisce
Oggetto MethodCallExpression la cui proprietà NodeType è uguale a Call e le cui proprietà Object e Arguments sono impostate sui valori specificati.
Eccezioni
array
o indexes
è null
.
array
.Type non rappresenta un tipo matrice.
-oppure-
Il numero di dimensioni di array
.Type non corrisponde al numero di elementi in indexes
.
-oppure-
La proprietà Type di uno o più elementi di indexes
non rappresenta il tipo Int32.
Esempio
Nell'esempio seguente viene illustrato come usare il metodo per creare un MethodCallExpression oggetto che rappresenta l'indicizzazione ArrayIndex(Expression, Expression[]) 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)
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)
Commenti
Ogni elemento di indexes
deve avere Type uguale a Int32. La Type proprietà di deve rappresentare un tipo di array
matrice il cui rango corrisponde al numero di elementi in indexes
.
Se la classificazione di array
. Il tipo è 1, questo metodo restituisce un BinaryExpressionoggetto . La Left proprietà è impostata su array
e la Right proprietà è impostata sul singolo elemento di indexes
. La Type proprietà dell'oggetto BinaryExpression rappresenta il tipo di elemento di array
. Digitare.
Se la classificazione di array
. Il tipo è più di uno, questo metodo restituisce un MethodCallExpressionoggetto . La Method proprietà è impostata sull'oggetto MethodInfo che descrive il metodo Get
di istanza pubblica sul tipo rappresentato dalla Type proprietà di array
.
Si applica a
ArrayIndex(Expression, IEnumerable<Expression>)
- Origine:
- MethodCallExpression.cs
- Origine:
- MethodCallExpression.cs
- Origine:
- MethodCallExpression.cs
Crea un oggetto MethodCallExpressionche rappresenta l'applicazione di un operatore di indice di matrice a una matrice con numero di dimensioni maggiore di 1.
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
Parametri
- array
- Expression
Oggetto Expression su cui impostare la proprietà Object.
- indexes
- IEnumerable<Expression>
Oggetto IEnumerable<T> contenente gli oggetti Expression da usare per popolare la raccolta Arguments.
Restituisce
Oggetto MethodCallExpression la cui proprietà NodeType è uguale a Call e le cui proprietà Object e Arguments sono impostate sui valori specificati.
Eccezioni
array
o indexes
è null
.
array
.Type non rappresenta un tipo matrice.
-oppure-
Il numero di dimensioni di array
.Type non corrisponde al numero di elementi in indexes
.
-oppure-
La proprietà Type di uno o più elementi di indexes
non rappresenta il tipo Int32.
Esempio
Nell'esempio seguente viene illustrato come usare il metodo per creare un MethodCallExpression oggetto che rappresenta l'indicizzazione ArrayIndex(Expression, Expression[]) 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)
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)
Commenti
Ogni elemento di indexes
deve avere Type uguale a Int32. La Type proprietà di deve rappresentare un tipo di array
matrice il cui rango corrisponde al numero di elementi in indexes
.
Se la classificazione di array
. Il tipo è 1, questo metodo restituisce un BinaryExpressionoggetto . La Left proprietà è impostata su array
e la Right proprietà è impostata sul singolo elemento di indexes
. La Type proprietà dell'oggetto BinaryExpression rappresenta il tipo di elemento di array
. Digitare.
Se la classificazione di array
. Il tipo è più di uno, questo metodo restituisce un MethodCallExpressionoggetto . La Method proprietà è impostata sull'oggetto MethodInfo che descrive il metodo Get
di istanza pubblica sul tipo rappresentato dalla Type proprietà di array
.
Si applica a
ArrayIndex(Expression, Expression)
- Origine:
- BinaryExpression.cs
- Origine:
- BinaryExpression.cs
- Origine:
- BinaryExpression.cs
Crea un oggetto BinaryExpression che rappresenta l'applicazione di un operatore di indice di matrice a una matrice con numero di dimensioni pari a 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
Parametri
- array
- Expression
Oggetto Expression su cui impostare la proprietà Left.
- index
- Expression
Oggetto Expression su cui impostare la proprietà Right.
Restituisce
Oggetto BinaryExpression la cui proprietà NodeType è uguale a ArrayIndex e le cui proprietà Left e Right sono impostate sui valori specificati.
Eccezioni
array
o index
è null
.
array
.Type non rappresenta un tipo matrice.
-oppure-
array
.Type rappresenta un tipo matrice il cui numero di dimensioni non è pari a 1.
-oppure-
index
.Type non rappresenta il tipo Int32.
Commenti
index
deve rappresentare un indice di tipo Int32.
La Method proprietà del risultato BinaryExpression è null
, e IsLifted entrambi e IsLiftedToNull sono impostati su false
. La Type proprietà è uguale al tipo di elemento di array
. Digitare. La proprietà Conversion è null
.