我必须设置一个期望获取数组的属性,因此我需要一个类X的实例数组,如下所示:
X[] x = new X[]
{
new X () { Parameter = parameter },
new X () { Parameter = parameter2 }
// ...
}
Run Code Online (Sandbox Code Playgroud)
由于参数是在运行时生成并存储在列表中的,因此应该动态创建实例.我用这个代码得到了我的预期目标
X[] x = new X[list.Count];
for (int i = 0; i < list.Count; i++)
{
x[i] = new X() { Parameter = list.ElementAt(i) }
}
Run Code Online (Sandbox Code Playgroud)
这些线路完成了他们的工作,但是,我对这些线路并不满意.我想改变一些东西,即看起来像伪代码的代码
X[] x = new X[]
{
foreach (var item in list)
{
new X () { Parameter = item }
}
}
Run Code Online (Sandbox Code Playgroud)
但是,此代码不起作用.有没有办法实现这样的代码?
怎么样:
X[] x = list.Select(param => new X { Parameter = param }).ToArray();
Run Code Online (Sandbox Code Playgroud)
在这里,.Select(...)
创建一个投影,即列表中每个项目执行new X {...}
操作的序列; 的.ToArray()
该序列,以数组转换.
归档时间: |
|
查看次数: |
110 次 |
最近记录: |