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