Was ist der Unterschied zwischen einem Feld (field) und einer Eigenschaft (property) in C#?
Hallo Kollegen! Ich bin ein C#-Anfänger und kann den Unterschied zwischen einem Feld und einer Eigenschaft nicht verstehen. Beides scheint Daten zu speichern, aber warum wurden dann Eigenschaften erfunden?
Hier ist meine Klasse `Person`. Ich kann es so schreiben:
```csharp
public class Person
{
public string Name;
}
```
Und das ist ein Feld. Aber ich sehe, dass viele es so schreiben:
```csharp
public class Person
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
}
```
Und das ist eine Eigenschaft. Beide Varianten scheinen gleich zu funktionieren: Ich kann einen Wert zuweisen und ihn lesen. Zum Beispiel:
```csharp
Person p = new Person();
p.Name = "Alexey";
Console.WriteLine(p.Name);
```
Das Ergebnis wird dasselbe sein. Warum also der Aufwand mit `get` und `set`? P
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs