Ich habe ein Problem mit List<T>.Reverse()
und Reverse(this IEnumerable<TSource> source)
. Blick auf den Code:Warum funktioniert IList <>. Reverse() nicht wie List <>(). Reverse
// Part 1
List<int> list = new List<int> { 1, 2, 3 };
foreach (int x in list)
Console.Write(x);
Console.WriteLine();
list.Reverse();
foreach (int x in list)
Console.Write(x);
Console.WriteLine();
list.Reverse();
// Part2
IList<int> ilist = list;
foreach (int x in list)
Console.Write(x);
Console.WriteLine();
ilist.Reverse();
foreach (int x in ilist)
Console.Write(x);
Console.WriteLine();
ilist.Reverse();
Mein Ergebnis:
123
321
123
123
weil Reverse()
-Part1 List<T>.Reverse()
ist, Reverse()
-Part2 ist Reverse(this IEnumerable<TSource> source)
I List<int>.Reverse()
in Teil2 für IList<int>
ausgeführt werden soll. Wie kann ich es tun?
sagen [Ich stimme Ihnen zu, dass dies verwirrend.] (Http://stackoverflow.com/questions/2828917/most- peinlich-irreführende-Methode-in-the-net-api/2829051 # 2829051) –