我很惊讶我无法在结构中初始化我的字段,为什么会这样?喜欢:
struct MyStruct
{
private int a = 90;
}
Run Code Online (Sandbox Code Playgroud)
但这是一个complie时间错误.我不知道为什么这是一个问题?请向我解释一下.
原因主要是性能。考虑以下,
var a = new MyStruct[1000];
Run Code Online (Sandbox Code Playgroud)
如果 C# 允许对结构体中的字段进行初始化,则必须执行 1000 次初始化,对数组中的每个元素执行一次。C# 希望避免其他语言中可能出现的此类隐式行为。