1

这是您需要一些相当明显的小帮助的日子之一,我需要创建一个递减年份数组,并且需要显示从当前年份开始递减的五年,现在它就像 (2012,2011,2010,2009, 2008)等……

我想不出如何在 c# 中做到这一点,欢迎任何帮助。

问候

4

4 回答 4

7

这个怎么样?

Enumerable.Range(DateTime.Now.Year - 5, 5).Reverse().ToArray();

Enumerable.Range(int start, int count)会给你 5 个后续数字,从 5 年前开始。Reverse()反转序列;)并ToArray()从中创建一个数组。

于 2013-02-14T09:17:24.877 回答
2

普通的旧 C#:

int[] ret = new int[5];
for ( int i = 0; i < 5; i++ )
    ret[i] = DateTime.Now.Year - i - 1;

使用 LINQ:

var ret = Enumerable.Range(0, 5).Select(i => DateTime.Now.Year - i - 1).ToArray();

Botz3000 LINQ 版本(更好):

var ret = Enumerable.Range(DateTime.Now.Year - 5, 5).Reverse().ToArray()
于 2013-02-14T09:15:22.163 回答
2

这将工作得很好:

var year = DateTime.Today.Year;
var array = new int[5];

for (int i = 0; i < 5; i++)
{
    array[i] = year--;
}
于 2013-02-14T09:15:54.537 回答
0
public Int32[] GetDecrementalYearsArray(int startWith, int countOfItems)
{
   Int32[] array = new Int32[countOfItems];
   array[0] = startWith;
   for(int i=1;i<countOfItems;i++)
   {
       array[i] = startWith-i;
   }
   return array;
}
于 2013-02-14T09:18:20.403 回答