Sto imparando C# e sto imparando a creare campi privati per la classe, e usando Getter e Setter per esporre Metodi invece di valori di campo.Stenografi Accessors and Mutators
sono la get; set;
in Metodo 1 e Metodo 2 equivalente? per esempio. è una stenografia dell'altra?
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; }
}
}
Infine, sarebbe Metodo 2 essere utilizzato quando si vuole, ad esempio eseguire un calcolo prima di ottenere o impostare un valore? per esempio. convertire il valore in percentuale o eseguire la convalida? per esempio.
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; }
}
}
Dai un'occhiata a [questa risposta] (http://stackoverflow.com/questions/15454470/why-arent-simple-properties-optimized-to-fields/15454538#15454538); mostra qualcosa in dettaglio. –
possibile duplicato di [Quali sono le proprietà automatiche in C# e qual è il loro scopo?] (Http://stackoverflow.com/questions/6001917/what-are-automatic-properties-in-c-sharp-and-what-is -il loro scopo) –