<p>I'm used to writing classes like this:</p>

<pre><code>public class foo {
  private string mBar = "bar";
  public string Bar {
    get { return mBar; }
    set { mBar = value; }
  }
  //... other methods, no constructor ...
}
</code></pre>

<p>Converting Bar to an auto-property seems convenient and concise, but how can I retain the initialization without adding a constructor and putting the initialization in there?</p>

<pre><code>public class foo2theRevengeOfFoo {
  //private string mBar = "bar";
  public string Bar { get; set; }
  //... other methods, no constructor ...
  //behavior has changed.
}
</code></pre>

<p>You could see that adding a constructor isn't inline with the effort savings I'm supposed to be getting from auto-properties.</p>

<p>Something like this would make more sense to me:</p>

<pre><code>public string Bar { get; set; } = "bar";
</code></pre>

In the default constructor (and any non-default ones if you have any too of course):
```
```
public foo() {
    Bar = "bar";
}
```
```
This is no less performant that your original code I believe, since this is what happens behind the scenes anyway.