は、私は別のメンバーのためにすべての上の初期化のこれらの種類を行う必要がある。このようこのC#ループコードを書くよりエレガントな方法は?
this.Effects = new Effect [ image.Effects ];
for (int i = 0; i < image.NumEffects; ++i)
{
this.Effects [ i ] = new Effect (image.Effects [ i ]);
}
は、私は別のメンバーのためにすべての上の初期化のこれらの種類を行う必要がある。このようこのC#ループコードを書くよりエレガントな方法は?
this.Effects = new Effect [ image.Effects ];
for (int i = 0; i < image.NumEffects; ++i)
{
this.Effects [ i ] = new Effect (image.Effects [ i ]);
}
:同等のLINQは、おそらくになりSelect
とToArray
で呼び出すよりも
this.Effects = Array.ConvertAll(image.Effects, e => new Effect(e));
これがより速くなるでしょう。この直後に答えました。
のLINQは、このようなものになるだろう:
this.Effects = image.Effects.Select(x => new Effect(x)).ToArray();
lol @ SLaks。いい予感。 +1してください。 –
または複数のスレッドを使用するようにParallel.For
を使用しています。
それは面白いです。私はこれを試してみましょう。 –
'Effect'コンストラクタが非常に遅い場合を除き、それは価値がありません。 – SLaks
それはあなたの定義に依存しています 'エレガントな' –
+1:美しく、単に美しい –
ありがとう、あなたは素晴らしいです。あなたがこれを行うことができるか分からなかった。 –
+1およびLOL w.r.t. 'Linq'コールは私が今ポストしようとしているようです。 –