我在寫一個接受年份作爲參數的方法。即四位數字等於或小於當年。日曆只有格里高利(現在...不知道未來),我肯定不會需要任何東西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
年*在什麼日曆*?格利高裏?希伯來語?回曆?不同的用戶在不同地點使用不同的日曆系統;如果你希望你的軟件能夠被所有人使用,你可能需要做一些研究。 –