小编Vla*_*adu的帖子

如何并行对 Span<T> 进行操作?

我想并行执行操作Span<T>,但这样的操作是不合法的:

void DoSomething(Span<int> buffer, int option1, int option2)
{
   ....... 
}

void ParallelDoSomething(Span<int> buffer)
{
    var size = buffer.Length;
    Parallel.Invoke(() => DoSomething(buffer, 0, size / 2),
        () => DoSomething(buffer, size/2, size)); //not legal
}
Run Code Online (Sandbox Code Playgroud)

因为编译器抱怨:不能在匿名方法、lambda 表达式、查询表达式或本地函数中使用 ref、out 或 in 参数“缓冲区”

如何在以Span<T>参数为参数的并行方法中执行?

c# parallel-processing system.memory

6
推荐指数
1
解决办法
1399
查看次数

标签 统计

c# ×1

parallel-processing ×1

system.memory ×1