Feedback

Werte zweier Variablen vertauschen

Sprache: C#

Manchmal ist es nötig, das man die Werte von 2 Variablen/Feldern tauschen muss. Diese Methode kann das für die meisten Typen übernehmen. Beispiel: [code]int i1 = 2; int i2 = 1; Swap(ref i1, ref i2); Console.WriteLine("{0} < {1}", i1, i2); string s1 = " World"; string s2 = "Hello"; Swap(ref s1, ref s2); Console.WriteLine("{0}{1}", s1, s2); Button b1 = new Button() { Name = "Button2", }; Button b2 = new Button() { Name = "Button1", }; Swap(ref b1, ref b2); Console.WriteLine("{0} != {1}", b1.Name, b2.Name);[/code]
/// <summary>
/// Vertauscht die Werte von 2 Variablen.
/// </summary>
/// <typeparam name="T">Der Typ, von dem die Variablen sind.</typeparam>
/// <param name="item1">Der Wert der 1. Variable.</param>
/// <param name="item2">Der Wert der 2. Variable.</param>
static void Swap<T> (ref T item1, ref T item2)
{
    T tmp = item1;
    item1 = item2;
    item2 = tmp;
}
/// <summary>
/// Vertauscht die Werte von 2 Variablen.
/// </summary>
/// <typeparam name="T">Der Typ, von dem die Variablen sind.</typeparam>
/// <param name="item1">Der Wert der 1. Variable.</param>
/// <param name="item2">Der Wert der 2. Variable.</param>
static void Swap<T> (ref T item1, ref T item2)
{
    T tmp = item1;
    item1 = item2;
    item2 = tmp;
}