So ziemlich jeder hat schon mal eine Swap-Methode zum tauschen von Variablen-Werten geschrieben. Ab C# 7.0 geht das nun dank der Tupel noch etwas einfacher.
Dieses Snippet zeigt beide möglichen Wege.
private static void Main()
{
var a = 1;
var b = 2;
Console.WriteLine($"a={a}, b={b}");
// C# 6.0 and prior
GenericSwap(ref a, ref b);
Console.WriteLine($"a={a}, b={b}");
// C# 7.0 and later
(a, b) = (b, a);
Console.WriteLine($"a={a}, b={b}");
Console.ReadKey();
}
private static void GenericSwap<T>(ref T a, ref T b)
{
var tmp = a;
a = b;
b = tmp;
}
2 Kommentare zum Snippet