用C#编写递减数组
本文关键字:数组 | 更新日期: 2023-09-27 17:59:15
这是一个你需要一些小帮助的日子,我需要创建一个递减年份的数组,并且需要显示从当前年份开始的五年递减,现在就像(20122011201020092008)等…
我想不出如何在c#中做到这一点,欢迎任何帮助。
问候
这个怎么样?
Enumerable.Range(DateTime.Now.Year - 5, 5).Reverse().ToArray();
Enumerable.Range(int start, int count)
将为您提供5个后续编号,从5年前开始。Reverse()
颠倒顺序;)并且ToArray()
从中创建arrray。
普通老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()
这会很好地工作:
var year = DateTime.Today.Year;
var array = new int[5];
for (int i = 0; i < 5; i++)
{
array[i] = year--;
}
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;
}