传递到数组中的构造函数

时间:2009-06-01 11:15:45

标签: c# arrays

如果我有一个FooWrapper类在构造期间接收Foo:

Foo foo = new Foo();
FooWrapper fooWrapper = new FooWrapper(foo);

通常,我从一些API中获得了一系列Foo的回复

Foo[] foos = _api.GetFoos();

无论如何我是通过传入适当的Foo对象来构建一个FooWrappers数组而不是简单地遍历每个对象吗?

2 个答案:

答案 0 :(得分:8)

您可以使用Array.ConvertAll方法。

FooWrapper[] wfoos = Array.ConvertAll<Foo, FooWrapper>(foos, delegate(Foo foo){return new FooWrapper(foo);});

答案 1 :(得分:2)

我认为arul有一个很好的答案,但我想提出一个问题:使用泛型和/或LINQ真的'更好'吗?

我会在这里使用一个简单的for循环。主要原因是可读性。