C# - 配列やリスト(List)を逆順にループする

配列やリストを要素の最後からループするには、Enumerable.Reverse メソッドを使用します。

Enumerable.Reverse メソッドでループ順を反転

Enumerable.Reverseメソッドの引数に配列やリストを渡すと、要素を逆順に取り出すシーケンスを返します。元のリストの内容は変更されません。
using System.Linq;

IEnumerable<要素の型> 要素を逆順に取り出すシーケンス = Enumerable.Reverse(配列やリスト)

サンプルコード

次のコードは foreachループを使用し、配列 array の内容を末尾から表示します。
using System.Linq;

// 配列の初期化
var array = new string[] { "item1", "item2", "item3" };

// 通常のループ
foreach (var item in array)
{
    // 結果 = "item1", "item2", "item3" の順に出力
    System.Console.WriteLine(item);
}

// 反転してループ
foreach (var item in Enumerable.Reverse(array))
{
    // 結果 = "item3", "item2", "item1" の順に出力
    System.Console.WriteLine(item);
}
サンプルコードの実行結果
サンプルコードの実行結果

参考資料

検証環境