Expression.ArrayIndex 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
배열 인덱스 연산자 적용을 나타내는 Expression을 만듭니다.
오버로드
ArrayIndex(Expression, Expression[]) |
다차원 배열에 대한 배열 인덱스 연산자를 적용하는 MethodCallExpression을 만듭니다. |
ArrayIndex(Expression, IEnumerable<Expression>) |
차수가 1보다 큰 배열에 대한 배열 인덱스 연산자 적용을 나타내는 MethodCallExpression을 만듭니다. |
ArrayIndex(Expression, Expression) |
차수가 1인 배열에 대한 배열 인덱스 연산자 적용을 나타내는 BinaryExpression을 만듭니다. |
ArrayIndex(Expression, Expression[])
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
다차원 배열에 대한 배열 인덱스 연산자를 적용하는 MethodCallExpression을 만듭니다.
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
매개 변수
- array
- Expression
배열 인덱스 작업에 대한 Expression 인스턴스 - 인덱스의 배열입니다.
- indexes
- Expression[]
Expression 컬렉션을 채우는 데 사용할 Arguments 개체의 배열입니다.
반환
MethodCallExpression 속성이 NodeType이고 Call 및 Object 속성이 지정된 값으로 설정된 Arguments입니다.
예외
array
또는 indexes
가 null
인 경우
array
.Type이 배열 형식을 나타내지 않는 경우
또는
array
.Type의 차수가 indexes
의 요소 수와 일치하지 않는 경우
또는
예제
다음 예제에서는 메서드를 사용하여 ArrayIndex(Expression, Expression[]) 2차원 배열로 인덱싱을 나타내는 을 만드는 MethodCallExpression 방법을 보여 줍니다.
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)
설명
의 indexes
각 요소는 와 같Int32아야 Type 합니다. 의 array
속성은 Type 순위가 의 요소 수와 일치하는 배열 형식을 indexes
나타내야 합니다.
의 순위이면 입니다 array
. 형식은 1이고, 이 메서드는 를 반환합니다 BinaryExpression. 속성이 Left 로 array
설정되고 속성이 Right 의 indexes
단일 요소로 설정됩니다. 의 BinaryExpression 속성은 Type 의 요소 형식을 array
나타냅니다. 형식.
의 순위이면 입니다 array
. 형식이 둘 이상인 경우 이 메서드는 를 반환합니다 MethodCallExpression. 속성은 Method 의 속성array
이 MethodInfo 나타내는 형식의 공용 instance 메서드 Get
를 설명하는 로 Type 설정됩니다.
적용 대상
ArrayIndex(Expression, IEnumerable<Expression>)
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
차수가 1보다 큰 배열에 대한 배열 인덱스 연산자 적용을 나타내는 MethodCallExpression을 만듭니다.
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
매개 변수
- array
- Expression
Expression 속성에 설정할 Object입니다.
- indexes
- IEnumerable<Expression>
IEnumerable<T> 컬렉션을 채우는 데 사용할 Expression 개체가 포함된 Arguments입니다.
반환
MethodCallExpression 속성이 NodeType이고 Call 및 Object 속성이 지정된 값으로 설정된 Arguments입니다.
예외
array
또는 indexes
가 null
인 경우
array
.Type이 배열 형식을 나타내지 않는 경우
또는
array
.Type의 차수가 indexes
의 요소 수와 일치하지 않는 경우
또는
예제
다음 예제에서는 메서드를 사용하여 ArrayIndex(Expression, Expression[]) 2차원 배열로 인덱싱을 나타내는 을 만드는 MethodCallExpression 방법을 보여 줍니다.
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)
설명
의 indexes
각 요소는 와 같Int32아야 Type 합니다. 의 array
속성은 Type 순위가 의 요소 수와 일치하는 배열 형식을 indexes
나타내야 합니다.
의 순위이면 입니다 array
. 형식은 1이고, 이 메서드는 를 반환합니다 BinaryExpression. 속성이 Left 로 array
설정되고 속성이 Right 의 indexes
단일 요소로 설정됩니다. 의 BinaryExpression 속성은 Type 의 요소 형식을 array
나타냅니다. 형식.
의 순위이면 입니다 array
. 형식이 둘 이상인 경우 이 메서드는 를 반환합니다 MethodCallExpression. 속성은 Method 의 속성array
이 MethodInfo 나타내는 형식의 공용 instance 메서드 Get
를 설명하는 로 Type 설정됩니다.
적용 대상
ArrayIndex(Expression, Expression)
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
차수가 1인 배열에 대한 배열 인덱스 연산자 적용을 나타내는 BinaryExpression을 만듭니다.
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
매개 변수
- array
- Expression
Expression 속성에 설정할 Left입니다.
- index
- Expression
Expression 속성에 설정할 Right입니다.
반환
BinaryExpression 속성이 NodeType이고 ArrayIndex 및 Left 속성이 지정된 값으로 설정된 Right입니다.
예외
array
또는 index
가 null
인 경우
array
.Type이 배열 형식을 나타내지 않는 경우
또는
array
.Type이 나타내는 배열 형식의 차수가 1이 아닌 경우
또는
index
.Type이 Int32 형식을 나타내지 않는 경우
설명
index
는 형식 Int32의 인덱스여야 합니다.
결과 BinaryExpression 의 속성은 Method 이며 null
및 는 모두 IsLiftedIsLiftedToNull 로 false
설정됩니다. 속성은 Type 의 array
요소 형식과 같습니다. 형식. Conversion 속성은 null
입니다.
적용 대상
.NET