Array.Reverseメソッドを使うことで配列内の全要素の並びを逆順に(リバース)することが出来ます。 逆順にする最初のインデックスと要素数を指定することで、配列内の一部分だけを逆順にすることも出来ます。
Array.Reverseメソッドで配列内の要素の並びを逆転する
using System;
class Sample {
static void Main()
{
int[] arr = {0, 1, 2, 3, 4};
// 配列内の全要素の並びを逆順にする
Array.Reverse(arr);
foreach (var elem in arr) {
Console.Write("{0}, ", elem);
}
Console.WriteLine();
// 配列内のインデックス2から3個分の要素の並びを逆順にする
Array.Reverse(arr, 2, 3);
foreach (var elem in arr) {
Console.Write("{0}, ", elem);
}
Console.WriteLine();
}
}
実行結果
4, 3, 2, 1, 0, 4, 3, 0, 1, 2,
ジャグ配列をリバースすることも出来ますが、その場合は1段目のみが逆順になります。 2段目以降をリバースする場合は、格納されている配列に対して個別にArray.Reverseメソッドを呼び出してリサイズする必要があります。
なお、Array.Reverseメソッドでは多次元配列を逆順にすることは出来ません。 Array.Reverseメソッドに多次元配列を指定すると、RankExceptionがスローされます。