Feedback

C# - Variablenwerte tauschen

Veröffentlicht von am 26.03.2017
(2 Bewertungen)
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.
GFU-Schulungen  [Anzeige]

C# 2017/2015/2013 Aufbau

In dieser Schulung lernen Sie fortgeschrittene Techniken im Bereich .Net C#. Dabei stehen neben den eigentlichen Techniken auch architektonische Aspekte im Mittelpunkt.

ASP.NET Core und Angular Komplett für .NET-Entwickler

Sie  lernen in drei (3) Tagen wie man mit  ASP.NET Core und den Technologien  MVC, Entity Framework, WebAPI und  Razor professionelle sowie moderne  Web-Anwendungsarchitekturen aufbaut.  Die Schulung ist der perfekte  Einstieg um insbesondere datengetriebene  und präsentationsorientierte  Applikationen auf Basis der robusten und  skalierbaren ASP.NET Core  Plattform zu erstellen. Nach der Veranstaltung kennen Sie die Konzepte von Angular und können Angular in neue und bestehende ASP.NET-Anwendungen einsetzen.

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;
}
Abgelegt unter C#7, Swap, Tupel.

2 Kommentare zum Snippet

Martin Dauskardt schrieb am 28.03.2017:
Gibt das bei Verweis-Typen keine Probleme?
Koopakiller schrieb am 28.03.2017:
@Martin Soweit ich weiß spielt es hier keine Rolle ob Wert- oder Instanz Typ.
Ein kurzer Test konnte auch nichts anderes zeigen.
https://github.com/Koopakiller/Forum-Samples/blob/master/VariableSwap/VariableSwap/Program.cs
 

Logge dich ein, um hier zu kommentieren!