C#で配列を逆順にする方法(拡張メソッドを使用)


まず、C#の配列を逆順にする一般的な方法は、ArrayクラスのReverseメソッドを使用することです。以下はその方法の例です。

int[] numbers = { 1, 2, 3, 4, 5 };
Array.Reverse(numbers);

このコードでは、numbers配列の要素が逆順になります。numbers配列は { 5, 4, 3, 2, 1 } のようになります。

しかし、この方法では元の配列が変更されてしまうため、もし元の配列を保持したまま逆順にしたい場合には、拡張メソッドを使用すると便利です。

以下のコードは、C#の拡張メソッドを使用して配列を逆順にする例です。

using System;
public static class ArrayExtensions
{
    public static T[] Reverse<T>(this T[] array)
    {
        T[] reversedArray = new T[array.Length];
        for (int i = 0, j = array.Length - 1; i < array.Length; i++, j--)
        {
            reversedArray[i] = array[j];
        }
        return reversedArray;
    }
}
// 使用例
int[] numbers = { 1, 2, 3, 4, 5 };
int[] reversedNumbers = numbers.Reverse();

この例では、ArrayExtensionsという名前の拡張メソッドを定義しています。このメソッドは、T型の配列を受け取り、逆順にした新しい配列を返します。

上記のコードを使用すると、元の配列は変更されず、新しい逆順の配列が作成されます。この方法を使用すると、Reverseメソッドを拡張メソッドとして呼び出すことができます。

以上が、C#で配列を逆順にする方法と拡張メソッドを使用する方法の説明です。この方法を使えば、簡単に配列を逆順にすることができます。