5
ich ein Array mit der folgenden CreateArray
statischen Methode erschaffe:Umgestalten LINQ FürJeden zurückzukehren 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;
}
Wo Func wie folgt aussehen:
public static IEnumerable<int> Func(int i)
{
...
}
Ist es möglich, die CreateArray
Methode Refactoring in etwas wie:
public static int[] CreateArray(int size)
{
var tableFromIndex2 = ...
return new[] { 0, 1 }
.Concat(tableFromIndex2)
.ToArray();
}
Hey svick, ich dachte, es war richtig, aber eigentlich habe ich die Ergebnisse nicht von 'i' bestellt. Ich meine, ich bin in Ordnung, die 'Func (i) .Count()' parallel laufen zu lassen, aber dann sollte das Ergebnis in die 'i'-Position gebracht werden ... –
Sie haben Recht, ich habe 'AsOrdered()' vergessen . Jetzt behoben. – svick
Danke svick, ich weiß nicht '' AsOrdered() 'existiert –