5
我創建具有以下CreateArray
靜態方法數組:重構LINQ的ForEach返回IEnumerable的<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;
}
凡Func鍵的樣子:
public static IEnumerable<int> Func(int i)
{
...
}
是否有可能重構CreateArray
方法是這樣的:
public static int[] CreateArray(int size)
{
var tableFromIndex2 = ...
return new[] { 0, 1 }
.Concat(tableFromIndex2)
.ToArray();
}
嘿svick,我認爲它是正確的,但實際上我得到的結果不是'i'命令。我的意思是,我可以並行運行'Func(i).Count()',但是結果應該放在'i'的位置上... –
你說得對,我忘了'AsOrdered()' 。現在修復。 – svick
謝謝svick,我不知道'AsOrdered()'存在 –