Reverseメソッドを使うことでList内の要素の並びを逆順にする(リバースする)ことができます。
Reverseメソッドを使ってList内の要素をリバースする
using System;
using System.Collections.Generic;
class Sample {
static void Main()
{
var list = new List<string>() {"Alice", "Charlie", "Dave", "Bob"};
// List内の要素をリバース (逆順に並べ替える)
list.Reverse();
Print(list);
}
static void Print(List<string> list)
{
foreach (var e in list) {
Console.Write("{0}, ", e);
}
Console.WriteLine();
}
}
実行結果
Bob, Dave, Charlie, Alice,
Reverseメソッドでは、インスタンス自身を逆順にします(破壊的変更)。 リバースされたListが新たに作成され戻り値として返されることはありません。 そのため、リバース前の状態も維持しておきたい場合は、あらかじめListの複製を作っておき、その後で変更用のListをリバースする必要があります。
非破壊的なリバースを行いたい場合はLINQのReverseメソッド(Enumerable.Reverse)を使うことができます。