Полевой подход является лаконичным, который получает много голосов, но я бы предпочел (для простых свойств) использовать авто-свойства, и в этом случае вы вынуждены использовать конструктор:
public Foo() {
Id = -1;
Name = "";
}
public int Id {get;set;}
public string Name {get;set;}
Вы также можете рассмотреть возможность использования [DefaultValue(-1)]
и т. Д., Что помогает дизайнерам и сериализаторам, но это не влияет на начальное значение автоматически реализуемого свойства (или обычного свойства) - это только дополнительная информация .