私はC#を学んでおり、フィールドをクラスにプライベートにすることについて学び、GettersとSettersを使用してフィールド値の代わりにメソッドを公開します。略語アクセサーと突然変異子
はget; set;
のメソッド1と方法2同等か?例えばもう一方の略語ですか?あなたがたとえば値を取得または設定する前に、計算を実行したいとき
class Student
{
// Instance fields
private string name;
private int mark;
// Method 1
public string Name { get; set; }
// Method 2
public int Mark
{
get { return mark; }
set { mark = value; }
}
}
は最後に、方法2を使用することでしょうか?例えば値をパーセンテージに変換するか、検証を実行しますか?例えば
class Student
{
// Instance fields
private string name;
private double mark;
private int maxMark = 50;
// Method 1
public string Name { get; set; }
// Method 2
public double Mark
{
get { return mark; }
set { if (mark <= maxMark) mark = value/maxMark * 100; }
}
}
[この回答を見てください(http://stackoverflow.com/questions/15454470/why-arent-simple-properties-optimized-to-fields/15454538#15454538)。それは何かを詳細に示しています。 –
の可能な複製[Cの自動プロパティとは何ですか?その目的は何ですか?](http://stackoverflow.com/questions/6001917/what-are-automatic-properties-in-c-sharp-and-what-is -their-purpose) –