原始C#值類型,例如int
是一個結構。那麼,爲什麼int
未初始化?應該有默認的構造函數,我想。另一方面,一個自定義結構是可以的。使用未分配的本地變量:值類型vs自定義結構
在下面的代碼
struct STRCT { }
class Program
{
static void Main(string[] args)
{
STRCT strct;
strct.Equals(8);
strct.GetHashCode();
strct.GetType();
strct.ToString();
int i;
i.Equals(8);
i.GetHashCode();
i.GetType();
i.ToString();
}
}
而前5行的代碼是從C#編譯器視圖確定,接下來的5行的代碼生成編譯錯誤:
use of unassigned local variable
請解釋爲什麼呢?從我的角度來看,這兩種類型都是結構,並且應該具有相同的行爲。
的http://計算器。com/questions/9233000/why-compile-error-use-of-unassigned-local-variable#answer-9233045請參考上面的鏈接,它會幫助你。 –