Ich sehe viele Beispielcodes für C # -Klassen, die dies tun:
public class Point {
public int x { get; set; }
public int y { get; set; }
}
Oder in älterem Code dasselbe mit einem expliziten privaten Sicherungswert und ohne die neuen automatisch implementierten Eigenschaften:
public class Point {
private int _x;
private int _y;
public int x {
get { return _x; }
set { _x = value; }
}
public int y {
get { return _y; }
set { _y = value; }
}
}
Meine Frage ist warum. Gibt es einen funktionalen Unterschied zwischen dem oben genannten und dem öffentlichen Erstellen dieser Mitgliederfelder wie unten?
public class Point {
public int x;
public int y;
}
Um es klar auszudrücken, ich verstehe den Wert von Gettern und Setzern, wenn Sie eine Übersetzung der zugrunde liegenden Daten vornehmen müssen. Aber in Fällen, in denen Sie nur die Werte weitergeben, scheint es unnötig ausführlich zu sein.