Int по умолчанию инициализируются на 0;Предполагая, что вы не хотите использовать int?
, который идеально подходит для вас.Вы можете проверить это или у вас может быть флаг и вспомогательное поле:
private int _age;
public int Age
{
get { return _age; }
set { _age = value; _hasAge = true; }
}
public bool HasAge { get { return _hasAge; } }
Как указано выше, вы можете инициализировать его в недопустимое состояние:
private int _age = -1;
public int Age
{
get { return _age; }
set { _age = value; _hasAge = true; }
}
public bool HasAge { get { return _age != -1; } }
Или просто сломатьи используйте int?
public int? Age { get; set; }
public bool HasAge { get { return Age.HasValue; } }
Для обратной совместимости с вашим кодом вы можете отменить его int?
, не раскрывая его:
private int? _age;
public int Age
{
get { return _age.GetValueOrDefault(-1); }
set { _age = value; }
}
public bool HasAge { get { return _age.HasValue; } }