C#を最近書いているのですがクラスの初期化の仕方がわかりません

1.
自動実装プロパティには初期値を設定する方法はないのでしょうか?
コンストラクタ内で設定するしかないのでしょうか?
例) private int member{ private get; private set; } = 0 ←こんな雰囲気で書きたい

2.
抽象クラスをメンバに持つ場合、初期化はどのようにすればよいのでしょうか?
例)
abstract class Base {}
class Sub1 : public Base {}
class Sub2 : public Base {}
class Sample {
  private Base obj { private get; private set; }
  private Sample()
  {
    obj = new Base(); //←抽象クラスだからインスタンスは作れない
  }
}

どなたか教えていただけませんでしょうか