我正在从事Windows项目,我有一个ComboBox年份,应该包含从1910年至今的年份。这是我的代码
comboboxYears.DataSource = Enumerable.Range(1910, DateTime.Now.Year).ToList();
但是范围不在1910年到今年之间。取而代之的是1910年至3924年之间。我在这里做错了什么?
最佳答案
Enumerable.Range
中的第二个参数是要生成的整数数量,而不是范围的包含上限。这是此方法的签名:
Range(int start, int count)
因此,您只需要通过
last - start
或last - start + 1
作为第二个参数,具体取决于您是否要查看序列中的最后一个整数。 (感谢@juharr进行评论)因此,将代码更改为:comboboxYears.DataSource = Enumerable.Range(1910, DateTime.Now.Year - 1910 + 1).ToList();
关于c# - 困惑于用几年填充ComboBox,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28727202/