La fonction de permutation de 2 éléments dans un tableau ne fonctionne pas

Je suis nouveau avec C# et je ne comprends pas pourquoi ce code ne fonctionne pas.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            char[] sw = "ab".ToCharArray();
            swap(sw[0], sw[1]);
            string end = new string(sw);
            Console.Write(end);
        }

        static void swap(char a, char b)
        {
            char temp = a;
            a = b;
            b = temp;
        }
    }
}

Ce que j'attends de la console est "ba", mais j'obtiens un "ab". J'ai été en mesure de trouver autre approche pour résoudre ce problème, mais ce que je voudrais savoir c'est quelle est l'erreur dans ce code.
Merci pour l'aide!

InformationsquelleAutor user2373458 | 2013-05-11