Tôi đang viết phương thức chấp nhận năm làm tham số. I E. số có bốn chữ số bằng hoặc nhỏ hơn năm hiện tại. Lịch là Gregorian chỉ (cho bây giờ .. không chắc chắn về tương lai) và tôi chắc chắn sẽ không cần bất cứ điều gì BC.Loại thông số cho năm
Tôi đang sử dụng loại dữ liệu nào? giải pháp hiển nhiên sẽ được sử dụng DateTime hoặc Int32:
public void MyFunction(DateTime date)
{
// year to work with: date.Year;
// date.Month, date.Day, etc. is irrelevant and will always be
}
hoặc
public void MyFunction(Int year)
{
if (year > 9999 || otherValidations == false)
{
//throw new Exception...
}
// year to work with: new DateTime(year, 1, 1);
}
Bất kỳ lựa chọn thay thế khác ngoài văn bản của riêng tôi kiểu dữ liệu tùy chỉnh Năm?
Phụ thuộc vào những gì bạn đang làm với nó sau đó và những gì được gọi nó. Bạn có phơi bày điều này với tư cách giao diện không? Nguồn gốc đến từ đâu? Bạn có thể chỉ cần một Int16 nếu tất cả những gì bạn đang làm là so sánh nó. –
Đừng phát minh ra một bánh xe, tôi sẽ đề nghị Giữ nó đơn giản và sử dụng được xây dựng trong 'int' kiểu dữ liệu – sll
Năm * trong lịch *? Gregorian? Hebrew? Hijri? Những người dùng khác nhau sử dụng các hệ thống lịch khác nhau ở các vị trí khác nhau; nếu bạn muốn phần mềm của bạn có thể sử dụng được bởi tất cả chúng, bạn có thể có một số nghiên cứu để làm. –