Avatar ·

Was ist der Unterschied zwischen einem Feld (field) und einer Eigenschaft (property) in C#?

Hallo! Ich habe angefangen, C# zu lernen, und kann den Unterschied zwischen einem Feld und einer Eigenschaft nicht ganz verstehen. Beide scheinen Daten zu speichern, aber wozu braucht man dann Eigenschaften, wenn man einfach Felder verwenden kann? Ich habe Beispiele gesehen, in denen Leute so etwas schreiben:\n\n```csharp\npublic class Person\n{\n public string Name; // Feld\n public int Age { get; set; } // Eigenschaft\n}\n```\n\nUnd beide scheinen gleich zu funktionieren. Aber ich habe gehört, dass Eigenschaften der "richtige" Weg sind und Felder besser privat gemacht werden sollten. Warum? Wo ist der Haken? Könnt ihr es an Beispielen erklären? Vielen Dank im Voraus!\n<<>>\n

Hauptunterschied: Ein Feld ist eine Variable, eine Eigenschaft ist eine Methode

\n

Auf den ersten Blick sehen Feld und Eigenschaft tatsächlich ähnlich aus, aber ihre innere Natur ist grundlegend unterschiedlich. Ein Feld ist einfach ein Speicherbereich.