我定义了一个结构,其中包含一个公共字段和一个分别名为 _one 和 One 的公共属性,现在我在主函数中实例化结构(不创建新对象),并从结构中调用属性,我正在编译时间错误说使用未分配的局部变量 One,但是当我调用字段 _one 时,它的工作原理非常符合我的预期:
public struct myStruct
{
public int _one;
public int One
{
get { return _one; }
set { _one = value; }
}
public void Display()
{
Console.WriteLine(One);
}
}
static void Main(string[] args)
{
myStruct _struct;
_struct.One = 2; // Does not works
_struct._one = 2; // Works fine
}
谁能解释这背后的原因,无法理解这个概念。