,如果我有一個類FooWrapper在建造時需要在富:傳入構造跨越陣列
Foo foo = new Foo();
FooWrapper fooWrapper = new FooWrapper(foo);
的時候,我得到Foo的背部陣列從一些API
Foo[] foos = _api.GetFoos();
無論如何,我可以通過傳遞適當的Foo對象來構建一個FooWrappers數組,而不必簡單地遍歷每個Foo對象?
,如果我有一個類FooWrapper在建造時需要在富:傳入構造跨越陣列
Foo foo = new Foo();
FooWrapper fooWrapper = new FooWrapper(foo);
的時候,我得到Foo的背部陣列從一些API
Foo[] foos = _api.GetFoos();
無論如何,我可以通過傳遞適當的Foo對象來構建一個FooWrappers數組,而不必簡單地遍歷每個Foo對象?
可以使用Array.ConvertAll方法。
FooWrapper[] wfoos = Array.ConvertAll<Foo, FooWrapper>(foos, delegate(Foo foo){return new FooWrapper(foo);});
在Visual Studio 2005中完成這項工作嗎? C#2.0? – leora 2009-06-01 11:28:23
您可以用lambda替換上一個委託參數: (f => new FooWrapper(f))。這是一個品味問題。 – 2009-06-01 11:28:26
我想了Arul有着相當不錯的答案,但我想提出一個問題:使用泛型和/或LINQ真的「好」?
我會在這裏使用一個簡單的for循環。主要原因是可讀性。
請你解釋一下你的問題多一點? – 2009-06-01 11:21:12