Expression.ArrayIndex Methode

Definitie

Hiermee maakt u een Expression operator voor het toepassen van een matrixindex.

Overloads

Name Description
ArrayIndex(Expression, Expression[])

Hiermee maakt u een MethodCallExpression operator voor het toepassen van een matrixindexoperator op een multidimensionale matrix.

ArrayIndex(Expression, IEnumerable<Expression>)

Hiermee maakt u een MethodCallExpression operator voor het toepassen van een matrixindexoperator op een matrix met rangschikking meer dan één.

ArrayIndex(Expression, Expression)

Hiermee maakt u een BinaryExpression operator voor het toepassen van een matrixindexoperator op een matrix van rang 1.

ArrayIndex(Expression, Expression[])

Hiermee maakt u een MethodCallExpression operator voor het toepassen van een matrixindexoperator op een multidimensionale matrix.

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

Parameters

array
Expression

Een matrix met Expression exemplaren: indexen voor de bewerking van de matrixindex.

indexes
Expression[]

Een matrix met Expression objecten die moeten worden gebruikt om de Arguments verzameling te vullen.

Retouren

Een MethodCallExpression met de NodeType eigenschap gelijk aan Call en de Object eigenschappen die Arguments zijn ingesteld op de opgegeven waarden.

Uitzonderingen

array of indexes is null.

array. Het type vertegenwoordigt geen matrixtype.

– of –

De rang van array. Het type komt niet overeen met het aantal elementen in indexes.

– of –

De Type eigenschap van een of meer elementen van indexes het type vertegenwoordigt Int32 het type niet.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de ArrayIndex(Expression, Expression[]) methode gebruikt om een MethodCallExpression methode te maken die indexering aangeeft in een tweedimensionale matrix.

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)

Opmerkingen

Elk element van indexes moet gelijk zijn Type aan Int32. De Type eigenschap van array moet een matrixtype vertegenwoordigen waarvan de rang overeenkomt met het aantal elementen in indexes.

Als de rang van array. Type is 1, deze methode retourneert een BinaryExpression. De Left eigenschap is ingesteld op array en de Right eigenschap is ingesteld op het ene element van indexes. De Type eigenschap van de BinaryExpression eigenschap vertegenwoordigt het elementtype van array. Type.

Als de rang van array. Type is meer dan één, deze methode retourneert een MethodCallExpression. De Method eigenschap wordt ingesteld op de methode Get voor het MethodInfo openbare exemplaar van het type dat wordt vertegenwoordigd door de Type eigenschap van array.

Van toepassing op

ArrayIndex(Expression, IEnumerable<Expression>)

Hiermee maakt u een MethodCallExpression operator voor het toepassen van een matrixindexoperator op een matrix met rangschikking meer dan één.

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

Parameters

array
Expression

Een Expression om de Object eigenschap in te stellen die gelijk is aan.

indexes
IEnumerable<Expression>

Een IEnumerable<T> met Expression objecten die moeten worden gebruikt om de Arguments verzameling te vullen.

Retouren

Een MethodCallExpression met de NodeType eigenschap gelijk aan Call en de Object eigenschappen die Arguments zijn ingesteld op de opgegeven waarden.

Uitzonderingen

array of indexes is null.

array. Het type vertegenwoordigt geen matrixtype.

– of –

De rang van array. Het type komt niet overeen met het aantal elementen in indexes.

– of –

De Type eigenschap van een of meer elementen van indexes het type vertegenwoordigt Int32 het type niet.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de ArrayIndex(Expression, Expression[]) methode gebruikt om een MethodCallExpression methode te maken die indexering aangeeft in een tweedimensionale matrix.

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)

Opmerkingen

Elk element van indexes moet gelijk zijn Type aan Int32. De Type eigenschap van array moet een matrixtype vertegenwoordigen waarvan de rang overeenkomt met het aantal elementen in indexes.

Als de rang van array. Type is 1, deze methode retourneert een BinaryExpression. De Left eigenschap is ingesteld op array en de Right eigenschap is ingesteld op het ene element van indexes. De Type eigenschap van de BinaryExpression eigenschap vertegenwoordigt het elementtype van array. Type.

Als de rang van array. Type is meer dan één, deze methode retourneert een MethodCallExpression. De Method eigenschap wordt ingesteld op de methode Get voor het MethodInfo openbare exemplaar van het type dat wordt vertegenwoordigd door de Type eigenschap van array.

Van toepassing op

ArrayIndex(Expression, Expression)

Hiermee maakt u een BinaryExpression operator voor het toepassen van een matrixindexoperator op een matrix van rang 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

Parameters

array
Expression

A Expression om de Left eigenschap in te stellen die gelijk is aan.

index
Expression

A Expression om de Right eigenschap in te stellen die gelijk is aan.

Retouren

Een BinaryExpression met de NodeType eigenschap gelijk aan ArrayIndex en de Left eigenschappen die Right zijn ingesteld op de opgegeven waarden.

Uitzonderingen

array of index is null.

array. Het type vertegenwoordigt geen matrixtype.

– of –

array. Type vertegenwoordigt een matrixtype waarvan de rang niet 1 is.

– of –

index. Het type vertegenwoordigt Int32 het type niet.

Opmerkingen

index moet een index van het type Int32vertegenwoordigen.

De Method eigenschap van het resulterende BinaryExpression is null, en beide IsLifted en IsLiftedToNull zijn ingesteld op false. De Type eigenschap is gelijk aan het elementtype van array. Type. De eigenschap Conversion is null.

Van toepassing op