gpt4 book ai didi

c# - 重构 LINQ ForEach 以返回 IEnumerable

转载 作者:太空狗 更新时间:2023-10-29 23:47:05 25 4
gpt4 key购买 nike

我正在使用以下 CreateArray 静态方法创建一个数组:

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();
}

最佳答案

我认为 PLINQ 在这里很有用:

var tableFromIndex = ParallelEnumerable.Range(2, size - 2)
.AsOrdered()
.Select(i => Func(i).Count());

return new[] { 0, 1 }
.Concat(tableFromIndex)
.ToArray();

关于c# - 重构 LINQ ForEach 以返回 IEnumerable<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12993749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com