C# property 的新特性了解嗎

c#
小樊
82
2024-07-15 16:53:35
欄目: 編程語言

是的,C# 6.0 和 C# 7.0 都引入了一些新的特性來簡(jiǎn)化屬性的書寫和使用。

  1. 自動(dòng)屬性初始化器(Automatic Property Initializers):在 C# 6.0 中引入了自動(dòng)屬性初始化器,允許在屬性聲明時(shí)直接初始化屬性的值,而不需要在構(gòu)造函數(shù)中進(jìn)行初始化。例如:
public int MyProperty { get; set; } = 10;
  1. 只讀自動(dòng)屬性(Read-only Auto Properties):在 C# 6.0 中也引入了只讀自動(dòng)屬性,允許在屬性聲明時(shí)初始化值,并且只能在屬性聲明時(shí)或構(gòu)造函數(shù)中賦值一次。例如:
public int MyProperty { get; } = 10;
  1. Getter-only 自動(dòng)屬性(Getter-only Auto Properties):在 C# 6.0 中引入了 getter-only 自動(dòng)屬性,允許只定義屬性的 get 訪問器,而不定義 set 訪問器。例如:
public int MyProperty { get; }
  1. Expression-bodied 屬性訪問器(Expression-bodied Property Accessors):在 C# 6.0 中引入了表達(dá)式主體的屬性訪問器,可以使用 lambda 表達(dá)式的形式定義屬性的 get 和 set 訪問器。例如:
private string _name;
public string Name
{
    get => _name;
    set => _name = value;
}

總的來說,這些新特性使屬性的定義和使用更加簡(jiǎn)潔和方便。

0