C#:构建年份列表作为整数

Meg*_*att 15 c# linq list

我想创建一个C#List的整数,从1930年到2010年.在我的头脑中,我能想到的唯一方法就是使用一个forwhile循环遍历数字之间的每个整数并添加他们List个人.

我知道C#列表有很多有趣的方法,特别是当你使用Linq时.谁能想到更有效的方法呢?

adr*_*nks 39

Enumerable.Range(1930, 81)(MSDN文档)将为您提供包含您想要的内容的可枚举.第一个参数是起始值,第二个参数是项目数.您需要81而不是80,因为您需要1930年至2010年.

如果你明确地想要它List,请使用Enumerable.Range(1930, 81).ToList().

这种方法在效率方面可能没什么不同,但是代码更简洁.


Jim*_*hel 8

使用 Enumerable.Range()

var MyList = Enumerable.Range(1930, 2010-1930+1).ToList();
Run Code Online (Sandbox Code Playgroud)


jb.*_*jb. 8

另外两个答案是正确的,使用Enumberable.Range()是快速/简单的方法,但我会补充一点。使用,DateTime.Now.Year这样您就不必每年都修复代码。两个月后,对第二个参数使用硬编码值会使它过时。

List<int> listYears = Enumerable.Range(1930, DateTime.Now.Year - 1930 + 1).ToList();
Run Code Online (Sandbox Code Playgroud)