5
:funcはのように見えるリファクタリングLINQのForEach返されるIEnumerableを私は次のよう<code>CreateArray</code>の静的メソッドを持つ配列作成してい<T>
public static int[] CreateArray(int size)
{
var ret = new int[size];
ret[0] = 0;
ret[1] = 1;
Parallel.ForEach(Enumerable.Range(2, size - 2), i =>
{
ret[i] = Func(i).Count();
});
return ret;
}
:
public static IEnumerable<int> Func(int i)
{
...
}
はそれがでCreateArray
メソッドをリファクタリングすることは可能ですが次のようなもの:
public static int[] CreateArray(int size)
{
var tableFromIndex2 = ...
return new[] { 0, 1 }
.Concat(tableFromIndex2)
.ToArray();
}
こんにちは、私はそれが正しいと思ったが実際には私は 'i'で注文していない結果を得ました。私は 'Func(i).Count()'を並行して実行することはOKですが、結果は 'i'の位置に置かなければなりません... –
あなたは正しいです、' AsOrdered() ' 。今修正されました。 – svick
ありがとうsvick、私は 'AsOrdered()'が存在しないことを知っています –