Comment by xnorswap
3 months ago
Previously, if you wanted to add that Trim in, you needed to define the field behind.
You could have:
public string Name { get;set; }
Or you could have:
private string name;
public string Name {
get;
set { this.name = value?.Trim() ?? string.Empty; }
}
So you needed in the second case to also declare name as a field. The new syntax avoids having to do that "double" declaration.
> The new syntax avoids having to do that "double" declaration.
Yes, that's right. It is in other words a way to access the compile-time generated backing field for auto-implemented properties. It is quite nice to be honest, I just wish they presented a bit of context in their announcements.
They provide a bit more context around changes in their "What's new in C# 14" page:
https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/cs...
This is great thank you.