What does the { get; set; } syntax mean in C# and why is it needed?
Hi everyone! I just started learning C#, and in one of the code examples I came across a strange syntax:
```csharp
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
```
I can't understand what these curly braces with `get; set;` inside mean. Why can't I just write `public string Name;` as a regular field? What's the difference?
I tried using regular fields, and the code also worked:
```csharp
public class Person
{
public string Name;
public int Age;
}
```
But everyone says I should use properties instead of fields. I'm confused. Please explain what `{ get; set; }` is, how it works, and why it's needed. I'm especially interested in why examples often write `{ get; set; }` with a semicolon instead of some code.