我在写一个接受年份作为参数的方法。即四位数字等于或小于当年。日历只有格里高利(现在...不知道未来),我肯定不会需要任何东西BC。多年的参数类型
我要使用哪种数据类型?显而易见的解决方案将使用日期时间或的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);
}
从写我自己的自定义数据类型相隔一年的任何其他的选择吗?
取决于你用它以后做什么,什么在呼唤它。你是否将它作为一个接口公开?来源从哪里来?如果你只是在比较它,你可能只需要一个Int16。 –
让我们不要发明一个轮子,我会建议保持简单并使用内置的'int'数据类型 – sll
年*在什么日历*?格利高里?希伯来语?回历?不同的用户在不同地点使用不同的日历系统;如果你希望你的软件能够被所有人使用,你可能需要做一些研究。 –