Référence de C vers C#

tandelol
Référence de C vers C#

Bonjour à tous,

Je suis en train de ré-écrire du code C/C++ en C#. J'ai un fonction C à effet de bord qui modifie une valeur passée par référence:

void mafonction(int& i)
{
	i = 2;
}

Même si c'est pas tip top comme code, je ne voudrais pas trop modifier ce qui a été fait. Donc: est-ce qu'il est possible d'écrire directement l'équivalent en C# ?

Merci :)

fredericmazue

Très simple. Tu utilises le mot-clé ref. Aussi bien dans la déclaration de la fonction que dans l'appel. Exemple:

    class Program
    {
        void mafonction(ref int i)
        {
	        i = 2;
        }
        static void Main(string[] args)
        {
            Console.WriteLine("CSharp");
            Program p = new Program();
            int i = 1;
            Console.WriteLine(i);
            p.mafonction(ref i);
            Console.WriteLine(i);
        }
    }
tandelol

Super, merci :)