1

これは、かなり明白なことについて少し助けが必要な日の1つです。デクリメント年の配列を作成し、現在の年から5年のデクリメントを表示する必要があります(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 に答える