PR

[C# Collections] 配列、リストの並び順を反転する

配列、リストの要素の並び順を反転させる方法です。

スポンサーリンク

for文を使いインデックスで逆から取得する

こんな感じです。

using System;
using System.Collections.Generic;
class Program
{
    public static void Main()
    {
        // 配列要素の並び順を反転
        int[] ary = new int[] { 1, 2, 3, 4, 5, };
        for (int i = ary.Length - 1; i >= 0; i--) {
            Console.WriteLine(ary[i]);
        }

        // リスト要素の並び順を反転
        List<int> list = new List<int> { 1, 2, 3, 4, 5 };
        for (int i = list.Count - 1; i >= 0; i--) {
            Console.WriteLine(list[i]);
        }
    }
}
5
4
3
2
1
5
4
3
2
1
スポンサーリンク

Array.Reverseメソッドで配列を反転させる

Array.Reverseメソッドの引数に反転させたい配列を指定します。
この方法は指定した配列そのものの順番が反転します。

using System;
class Program
{
    public static void Main()
    {
        // 配列要素の並び順を反転
        int[] ary = new int[] { 1, 2, 3, 4, 5, };
        Console.WriteLine($"    元の配列:[ {string.Join(" ", ary)} ]");
        Array.Reverse(ary);
        Console.WriteLine($"反転した配列:[ {string.Join(" ", ary)} ]");
    }
}
    元の配列:[ 1 2 3 4 5 ]
反転した配列:[ 5 4 3 2 1 ]
スポンサーリンク

各インスタンスのReverseメソッドで反転させる

配列、リストそれぞれのインスタンスのReverseメソッドを使って順番を反転させることができます。

配列のインスタンスのReverseメソッドは戻り値が反転された配列になり、
リストのインスタンスのReverseメソッドはそのリスト自体の並び順が反転されます。

using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
    public static void Main()
    {
        // 配列要素の並び順を反転
        int[] ary = new int[] { 1, 2, 3, 4, 5, };
        Console.WriteLine($"逆の配列:[ {string.Join(" ", ary.Reverse())} ]");
        Console.WriteLine($"元の配列:[ {string.Join(" ", ary)} ]");

        // リスト要素の並び順を反転
        List<int> list = new List<int> { 1, 2, 3, 4, 5 };
        Console.WriteLine($"Reverse前のリスト:[ {string.Join(" ", list)} ]");
        list.Reverse();
        Console.WriteLine($"Reverse後のリスト:[ {string.Join(" ", list)} ]");
    }
}
逆の配列:[ 5 4 3 2 1 ]
元の配列:[ 1 2 3 4 5 ]
Reverse前のリスト:[ 1 2 3 4 5 ]
Reverse後のリスト:[ 5 4 3 2 1 ]

C# 記事まとめページに戻る(他のサンプルコードもこちら)

C# プログラミング講座
C#についての記事まとめページです。開発環境VisualStudioのインストール方法や使い方、プログラミングの基礎知識についてや用語説明の記事一覧になっています。講座の記事にはすぐに実行できるようにサンプルコードを載せています。

コメント