我尝试了解 .net core 3.0。据我所知,我不能使用 Span 或 ReadonlySpan 作为属性或成员,因为它是基于堆栈的结构。我想知道以下定义之间的区别。我可以成功定义“part1”而没有任何错误。对于第 2 部分,我收到以下编译错误“Span 类型的 stackalloc 表达式的结果不能在此上下文中使用” 对于第 3 部分,我收到了不同的编译错误。“字段或自动实现的属性不能是 ReadonlySpan 类型”
public class KeyGenWithSpan
{
private static ReadOnlySpan<char> part1 => new[] { 'p', '1'};
private static ReadOnlySpan<char> part2 => stackalloc[]{'1','2'};
private static ReadOnlySpan<char> part3 = stackalloc[]{'1','2'};
}
Run Code Online (Sandbox Code Playgroud)