Enumerable.Reverse メソッドでループ順を反転
Enumerable.Reverseメソッドの引数に配列やリストを渡すと、要素を逆順に取り出すシーケンスを返します。元のリストの内容は変更されません。using System.Linq;
IEnumerable<要素の型> 要素を逆順に取り出すシーケンス = Enumerable.Reverse(配列やリスト)
- Enumerable.Reverseメソッドの引数に渡せるのは インターフェース IEnumerable<TSource>を実装しているオブジェクトです。
サンプルコード
次のコードは 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);
}
- 1行目: Enumerable.Reverse() メソッドを使用するには using ディレクティブを使用し、System.Linq のインポートが必要です。
- 14行目: Enumerable.Reverse() メソッドに配列(array)を渡し、ループ順を逆にしています。

参考資料
検証環境
- .NET 5.0
- Microsoft Visual Studio Professional 2019 Version 16.11.16
- Microsoft Windows 10 Pro Version 21H2 OS Build 19044.2130 Experience: Windows Feature Experience Pack 120.2212.4180.0