Expression.NewArrayInit 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建一个表示创建一维数组并使用元素列表初始化该数组的 NewArrayExpression。
重载
NewArrayInit(Type, IEnumerable<Expression>) |
创建一个表示创建一维数组并使用元素列表初始化该数组的 NewArrayExpression。 |
NewArrayInit(Type, Expression[]) |
创建一个表示创建一维数组并使用元素列表初始化该数组的 NewArrayExpression。 |
NewArrayInit(Type, IEnumerable<Expression>)
- Source:
- NewArrayExpression.cs
- Source:
- NewArrayExpression.cs
- Source:
- NewArrayExpression.cs
创建一个表示创建一维数组并使用元素列表初始化该数组的 NewArrayExpression。
public:
static System::Linq::Expressions::NewArrayExpression ^ NewArrayInit(Type ^ type, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.NewArrayExpression NewArrayInit (Type type, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
static member NewArrayInit : Type * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.NewArrayExpression
Public Shared Function NewArrayInit (type As Type, initializers As IEnumerable(Of Expression)) As NewArrayExpression
参数
- initializers
- IEnumerable<Expression>
一个 IEnumerable<T>,包含用来填充 Expression 集合的 Expressions 对象。
返回
一个 NewArrayExpression,其 NodeType 属性等于 NewArrayInit,并且其 Expressions 属性设置为指定值。
例外
initializers
的元素的 Type 属性表示不能赋给 type
所表示的类型的类型。
示例
以下示例演示如何使用 NewArrayInit 方法创建表达式树,该树表示创建使用字符串表达式列表初始化的一维字符串数组。
List<System.Linq.Expressions.Expression> trees =
new List<System.Linq.Expressions.Expression>()
{ System.Linq.Expressions.Expression.Constant("oak"),
System.Linq.Expressions.Expression.Constant("fir"),
System.Linq.Expressions.Expression.Constant("spruce"),
System.Linq.Expressions.Expression.Constant("alder") };
// Create an expression tree that represents creating and
// initializing a one-dimensional array of type string.
System.Linq.Expressions.NewArrayExpression newArrayExpression =
System.Linq.Expressions.Expression.NewArrayInit(typeof(string), trees);
// Output the string representation of the Expression.
Console.WriteLine(newArrayExpression.ToString());
// This code produces the following output:
//
// new [] {"oak", "fir", "spruce", "alder"}
Dim trees As New System.Collections.Generic.List(Of System.Linq.Expressions.Expression) _
(New System.Linq.Expressions.Expression() _
{System.Linq.Expressions.Expression.Constant("oak"), _
System.Linq.Expressions.Expression.Constant("fir"), _
System.Linq.Expressions.Expression.Constant("spruce"), _
System.Linq.Expressions.Expression.Constant("alder")})
' Create an expression tree that represents creating and
' initializing a one-dimensional array of type string.
Dim newArrayExpression As System.Linq.Expressions.NewArrayExpression = _
System.Linq.Expressions.Expression.NewArrayInit(Type.GetType("System.String"), trees)
' Output the string representation of the Expression.
Console.WriteLine(newArrayExpression.ToString())
' This code produces the following output:
'
' new [] {"oak", "fir", "spruce", "alder"}
注解
Type每个 元素initializers
的 属性必须表示一个类型,该类型可赋给 所type
表示的类型,可能在它被带引号后。
注意
仅当 元素 为 Expression时type
,才会引用元素。 引用表示元素包装在节点中 Quote 。 生成的节点是 , UnaryExpression 其 Operand 属性是 的 initializers
元素。
Type生成的 NewArrayExpression 的 属性表示其秩为 1 且元素类型为 type
的数组类型。
适用于
NewArrayInit(Type, Expression[])
- Source:
- NewArrayExpression.cs
- Source:
- NewArrayExpression.cs
- Source:
- NewArrayExpression.cs
创建一个表示创建一维数组并使用元素列表初始化该数组的 NewArrayExpression。
public:
static System::Linq::Expressions::NewArrayExpression ^ NewArrayInit(Type ^ type, ... cli::array <System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.NewArrayExpression NewArrayInit (Type type, params System.Linq.Expressions.Expression[] initializers);
static member NewArrayInit : Type * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.NewArrayExpression
Public Shared Function NewArrayInit (type As Type, ParamArray initializers As Expression()) As NewArrayExpression
参数
- initializers
- Expression[]
用于填充 Expression 集合的 Expressions 对象的数组。
返回
一个 NewArrayExpression,其 NodeType 属性等于 NewArrayInit,并且其 Expressions 属性设置为指定值。
例外
initializers
的元素的 Type 属性表示不能赋给类型 type
的类型。
示例
以下示例演示如何使用 NewArrayInit 方法创建表达式树,该树表示创建使用字符串表达式列表初始化的一维字符串数组。
List<System.Linq.Expressions.Expression> trees =
new List<System.Linq.Expressions.Expression>()
{ System.Linq.Expressions.Expression.Constant("oak"),
System.Linq.Expressions.Expression.Constant("fir"),
System.Linq.Expressions.Expression.Constant("spruce"),
System.Linq.Expressions.Expression.Constant("alder") };
// Create an expression tree that represents creating and
// initializing a one-dimensional array of type string.
System.Linq.Expressions.NewArrayExpression newArrayExpression =
System.Linq.Expressions.Expression.NewArrayInit(typeof(string), trees);
// Output the string representation of the Expression.
Console.WriteLine(newArrayExpression.ToString());
// This code produces the following output:
//
// new [] {"oak", "fir", "spruce", "alder"}
Dim trees As New System.Collections.Generic.List(Of System.Linq.Expressions.Expression) _
(New System.Linq.Expressions.Expression() _
{System.Linq.Expressions.Expression.Constant("oak"), _
System.Linq.Expressions.Expression.Constant("fir"), _
System.Linq.Expressions.Expression.Constant("spruce"), _
System.Linq.Expressions.Expression.Constant("alder")})
' Create an expression tree that represents creating and
' initializing a one-dimensional array of type string.
Dim newArrayExpression As System.Linq.Expressions.NewArrayExpression = _
System.Linq.Expressions.Expression.NewArrayInit(Type.GetType("System.String"), trees)
' Output the string representation of the Expression.
Console.WriteLine(newArrayExpression.ToString())
' This code produces the following output:
'
' new [] {"oak", "fir", "spruce", "alder"}
注解
Type每个 元素initializers
的 属性必须表示一个类型,该类型可赋给 所type
表示的类型,可能在它被带引号后。
注意
仅当 元素 为 Expression时type
,才会引用元素。 引用表示元素包装在节点中 Quote 。 生成的节点是 , UnaryExpression 其 Operand 属性是 的 initializers
元素。
Type生成的 NewArrayExpression 的 属性表示其秩为 1 且元素类型为 type
的数组类型。