簡體   English   中英

C# - 不同於其他語言的 Getter/Setter

[英]C# - Getters/Setters different from other languages

在 Java 中 Getter 和 setter 的工作方式如下:

public string GetPersonName() {   
  return this.PersonName;  
}

在 C# 中它可以以相同的方式工作,但問題是我看到人們正在使用這種語法

public string PersonName { get; set; }  

希望有人能幫我澄清一下,謝謝!

public string PersonName { get; set; }

實際上相當於

private string personName;

public string PersonName
{
     get { return personName; }
     set { personName = value; }
}

C# 3.0 中引入了自動實現的屬性,以使代碼更具可讀性/簡潔。

Java 沒有“真正的”屬性。 GetPersonName 是一個方法而不是一個“屬性”。

如果成員表示該類型的邏輯屬性,請考慮使用屬性。 切勿將屬性用於長時間運行的操作!

您還應該閱讀有關 C# 中的屬性的文章https://msdn.microsoft.com/en-us/library/ms229054(v=vs.100).aspx

這只是減少打字的一種簡化方式。 它被稱為自動實現的屬性

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM