这是我的问题:假设我有一个带有这样一个构造函数的类:
Class A {
private int i;
public A(int new_i) {
i = new_i;
}
}
Run Code Online (Sandbox Code Playgroud)
我可以使用int数组初始化A数组吗?如果是这样,我该怎么办?我想的是:
int[] b = new int[5] { 0,1,2,3,4};
A[] a;
a = new A[](b);
Run Code Online (Sandbox Code Playgroud)
谢谢!
var a = Array.ConvertAll(b, item => new A(item));
Run Code Online (Sandbox Code Playgroud)
这里的优点是它将使用正确的大小创建,没有任何中间步骤 - 加上它没有LINQ.
在C#2.0中它有点丑陋 - 以下是相同的:
A[] a = Array.ConvertAll<int,A>(b,
delegate(int item) { return new A(item); });
Run Code Online (Sandbox Code Playgroud)
varlambdas和改进的泛型类型推断的组合在这里真正为C#3.0带来了光彩.
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |