我正在开发一个Windows项目,我有一年的ComboBox应该包含从1910年到现在的年份。这是我的代码
comboboxYears.DataSource = Enumerable.Range(1910, DateTime.Now.Year).ToList();
但范围不是在1910年到今年之间。相反它在1910年到3924年之间。我在这里做错了什么?
答案 0 :(得分:6)
Enumerable.Range
中的第二个参数是 要生成的整数 ,而不是范围的包含上限。以下是此方法的签名:
Range(int start, int count)
因此,您只需将last - start
或last - start + 1
作为第二个参数传递,具体取决于您是否要查看序列中的最后一个整数。 (感谢@juharr发表评论)
所以,请将您的代码更改为:
comboboxYears.DataSource = Enumerable.Range(1910, DateTime.Now.Year - 1910 + 1).ToList();