c# 3.0 get set 默認值
.NET Framework 3.5 使用的是 C# 3.0,C# 3.0 有一些新的語言特性,其中有一項就是快捷屬性。
之前的寫法:
private int _id = 0; public int Id { get { return _id; } set { _id = value; } }
在 C# 3.0 中可以簡寫為這樣:
public int Id { get; set; }
C# 3.0 { get; set; } 默認值
這就不得不說 { get; set; } 的默認值了,因為不存在了私有自段,我們無法人工指定默認值了,那么系統的默認值是什么呢?
對於 int 類型,默認值是 0;
對於 int? 類型,默認值是 null;
對於 bool 類型,默認值是 false;
對於 bool? 類型,默認值是 null;
對於 string 類型,默認值是 null;
對於 string? 類型,哈哈,沒有這種寫法,會出錯;
對於 DateTime 類型,默認值是 0001-01-01 00:00:00;
對於 DateTime? 類型,默認值是 null;
對於 enum 類型,默認值是值為 0 的項,如果不存在 0 的 enum 項,它仍然是 0,相關內容可參見:C# 枚舉(enum);
對於 enum? 類型,默認值是 null;
對於 class 類型,默認值是未實例化的對象引用;
對於 class? 類型,哈哈,沒有這種寫法,會出錯。
關於類型加 ?,表示這種類型的值可為 null,比如 int 本來沒有 null 值,加上 int? 就可以為 null 了。
默認值例子:
public string test {
get
{
if (test == null)
{
return "默認值";
}
else
{
return test;
}
}
set { test = value; }
OK.