回答
它是簡寫:
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
編譯器生成的成員變量。這被稱爲automatic property。
...儘管該字段的名稱實際上是一個作爲C#標識符無效的「無法形容的」名稱(例如'<> __ name')。這會阻止您直接從您的代碼訪問該字段。規範術語是「自動實施的財產」,但大多數人的確將其稱爲自動財產:) – 2009-08-21 06:19:16
@phoog:當然,你的意思是'迂腐'(或者馬克指出 - 'pedantry')? :D – stuxnetting 2015-09-03 00:07:27
@stuxnetting「pedantryism」是個玩笑。只是在說'。爲了記錄和所有。 – phoog 2015-09-24 22:43:25
這是一個自動讀寫屬性。這是一個C#3.0的補充。例如:
public class Car {
private string name;
public string Name { get { return name; } set { name = value; } }
}
除了您不能直接訪問支持字段。
正是這樣做的equivilent:
private string _Text;
public string Text
{
get { return _Text; }
set { _Text = value; }
}
除非你沒有訪問私有變量,而類中。
所以如果你想保留私有變量,你必須使用「舊」格式(如你的例子)? – Rado 2015-03-08 18:18:31
它被稱爲自動執行的屬性,並且是new to C# 3.0。當您訪問該屬性不需要任何特殊行爲或驗證時,這是一種更清晰的語法。它在功能上類似:
public class Car
{
private string _name;
public string Name
{
get { return _name; }
set {_name = value; }
}
}
所以它保存的代碼中有相當,但後來離開你的選項來修改訪問邏輯,如果行爲或規則需要改變。
發明內容在C#3.0和以後,自動實現的屬性使 屬性聲明更簡潔當在 屬性訪問需要 沒有額外的邏輯。
簡而言之,它們被稱爲屬性訪問器。它們的實現可以解釋如下:
1.get {return name} 當屬性爲閱讀時,get訪問器中的代碼塊被執行。
2.設置{名稱=值} 當屬性爲分配一個新的值在設定訪問該代碼塊被執行。
例如,當你指的這個屬性,如下
人員P =新的Person()(假設使用的是C#)
class Person { private string name; // the name field public string Name // the Name property { get { return name; } set { name = value; } } }
現在; //實例化的類或創建對象 ' 「類的 'p人'
System.Console.Write(p.Name); //The get accessor is invoked here
獲取訪問器被調用到讀取屬性的值,即編譯器試圖讀取字符串'name'的值。
2.當您指定值(使用參數)的「名稱」屬性如下
Person p = new Person();
p.Name = "Stack" // the set accessor is invoked here
Console.Writeline(p.Name) //invokes the get accessor
Console.ReadKey(); //Holds the output until a key is pressed
set訪問分配值「疊加」到「Name屬性即'堆棧' 存儲在字符串 '名'
輸出繼電器:
堆棧
首先得到並設置的原因是什麼,爲什麼不只是使用一個訪問器來設置和獲取,這是沒有人能夠簡單回答的問題。 – JsonStatham 2015-11-13 17:37:30
- 1. 公共保護是什麼意思?
- 2. 這個公式是什麼意思?
- 3. $ .get(0)是什麼意思?
- 4. 「get」是什麼意思?
- 5. @ $ _ GET是什麼意思?
- 6. .svg('get')是什麼意思?
- 7. 這是什麼意思 「公共靜態ImageResource makeGray(ImageResource inImage)」
- 8. 什麼是公共類[接口]在vb.net是什麼意思?
- 9. 「斜坡」是什麼意思在名稱
- 10. 實例名稱是什麼意思?
- 11. 位置= $ 1?這是什麼意思?
- 12. 這是什麼意思爲共享內存配置MPI?
- 13. 什麼是PPC,這是什麼意思?
- 14. 這是什麼`_time_independent_equals`是什麼意思?
- 15. PHP這是什麼意思?
- 16. 這是什麼意思? function()!()
- 17. 這是什麼意思?
- 18. 這是什麼意思? [c#]
- 19. System.BadImageFormatException這是什麼意思?
- 20. Ç - 這是什麼意思〜
- 21. :這是什麼意思?
- 22. IllegalStateException:這是什麼意思?
- 23. 這是什麼意思?
- 24. 這是什麼意思:&** this;
- 25. 這些是什麼意思?
- 26. 「這」是什麼意思?
- 27. 是什麼!在這意思?
- 28. CallLog.Calls.NEW?這是什麼意思?
- 29. 這是什麼意思-c
- 30. 這是什麼意思AfterWatermark.withEarlyFirings?
我可以問爲什麼這被標記爲重複?這在2009年被問到,2011年「原始」被問到! – Nathangrad 2017-05-12 12:17:39