リストの反転。List.Reverse と Enumerable.Reverse を呼び分ける

リストを反転するときの List.ReverseEnumerable.Reverse を呼び分けるサンプルです。

$ csharp
Mono C# Shell, type "help;" for help

Enter statements below.
csharp> var xs = new List<int>() { 1, 2, 3, 4, 5 }
csharp> xs.Reverse() // List.Reverse が呼ばれる
csharp> xs
{ 5, 4, 3, 2, 1 }

以下は、Enumerable.Reverse を呼び出すサンプルです。

csharp> var ys = new List<int>() { 6, 7, 8, 9 }
csharp> ys.AsEnumerable().Reverse()
{ 9, 8, 7, 6 }
csharp> ys.Reverse<int>()
{ 9, 8, 7, 6 }
csharp> ys.Reverse<>()
{ 9, 8, 7, 6 }
csharp> ys
{ 6, 7, 8, 9 }

リンク