After reading some source code of different c# project i noticed different ways of writing (almost) the same statement regarding public "getter" and private "setter" properties.
First way with only properties:
public int x { get; private set; }
Second way with expression-bodied properties:
private int _x;
public int x => _x;
I know that public int x { get; }
is equivalent to
private readonly int __x;
public int x { get { return __x } }
So I understand the difference between expression-bodied and normal properties in the case of a single "getter". What i do not understand is the difference when there is a private field that holds the referenced value. I thought that maybe the second one is faster because you have access to the field directly instead of a method call inside your class. Is it just a stylistic difference or is one of the examples faster, more robust, etc?