Expression.ArrayIndex メソッド
この記事の内容
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
配列の添字演算子の適用を表す Expression を作成します。
ArrayIndex(Expression, Expression[]) |
多次元配列への配列の添字演算子の適用を表す MethodCallExpression を作成します。 |
ArrayIndex(Expression, IEnumerable<Expression>) |
ランクが 1 より大きい配列への配列の添字演算子の適用を表す MethodCallExpression を作成します。 |
ArrayIndex(Expression, Expression) |
ランク 1 の配列への配列の添字演算子の適用を表す BinaryExpression を作成します。 |
多次元配列への配列の添字演算子の適用を表す 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
各要素は Type と Int32等しい必要があります。 の array
プロパティはType、ランクが 内indexes
の要素の数と一致する配列型を表す必要があります。
のランクの array
場合。型は 1 で、このメソッドは を BinaryExpression返します。 プロパティは Left に array
設定され、 Right プロパティは の indexes
単一の要素に設定されます。 の BinaryExpression プロパティはType、 の要素型array
を表します。型。
のランクの array
場合。型が複数の場合、このメソッドは を MethodCallExpression返します。 プロパティはMethod、 の プロパティarray
で表される型のパブリック インスタンス メソッドGet
を記述する にType設定MethodInfoされます。
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
ランクが 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
各要素は Type と Int32等しい必要があります。 の array
プロパティはType、ランクが 内indexes
の要素の数と一致する配列型を表す必要があります。
のランクの array
場合。型は 1 で、このメソッドは を BinaryExpression返します。 プロパティは Left に array
設定され、 Right プロパティは の indexes
単一の要素に設定されます。 の BinaryExpression プロパティはType、 の要素型array
を表します。型。
のランクの array
場合。型が複数の場合、このメソッドは を MethodCallExpression返します。 プロパティはMethod、 の プロパティarray
で表される型のパブリック インスタンス メソッドGet
を記述する にType設定MethodInfoされます。
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
ランク 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
、 と IsLiftedToNull の両方IsLiftedが にfalse
設定されます。 プロパティは Type 、 の要素型と array
等しくなります。型。
Conversion プロパティが null
です。
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。