c# 3.0 get set 預設值

來源:互聯網
上載者:User

之前曾經介紹過 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 了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.