Я пишу метод, который принимает год как параметр. То есть четырехзначное число, равное или меньшее, чем текущий год. Календарь только по-григориански (пока... не уверен в будущем), и мне, безусловно, ничего не понадобится BC.
Какой тип данных мне использовать? Очевидные решения будут использовать DateTime или Int32:
public void MyFunction(DateTime date)
{
// year to work with: date.Year;
// date.Month, date.Day, etc. is irrelevant and will always be
}
или
public void MyFunction(Int year)
{
if ( year > 9999 || otherValidations == false )
{
//throw new Exception...
}
// year to work with: new DateTime(year, 1, 1);
}
Любые другие альтернативы, кроме написания моего собственного типа данных Year?