我有一個定義的結構,它包含一個公共字段和一個名爲_one和One的公共屬性,現在我在主函數中實例化結構(不創建新對象),並調用屬性從結構,我得到的編譯時錯誤說使用未分配的局部變量之一,然而,當我打電話給外地_ONE,它的工作原理相當這裏期待我在做什麼:從c#中調用結構屬性#
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
}
誰能解釋一下什麼原因在這背後,無法理解這個概念。
yes我檢查過,當我初始化結構屬性是可訪問的,你能告訴我實際差異是什麼創建,如果沒有初始化它不允許屬性然後爲什麼字段 – Abbas
@Abbas - 因爲值類型不能爲空,當你引用一個時,它會被初始化爲某個東西。這些字段將被初始化爲默認值。對於'int',這將是'0'。 – Oded