Übergabe von Parametern durch Verweis auf Konstruktor und anschließende Verwendung von from-Methode

Im folgenden Code versuche ich, mit einer Methode (Work) der Klasse TestClass die Werte einiger Variablen im Hauptprogramm zu ändern, ohne sie zurückgeben zu müssen. Die Variablen werden im TestClass-Konstruktor als Referenz übergeben.

class Program
{
    static void Main(string[] args)
    {
        int a, b, c, d;
        a = 5; b = 10; c = 20; d = 25;
        Console.WriteLine("Main before TestClass: a=" + a + " b=" + b + " c=" + c + " d=" + d);
        TestClass testObj = new TestClass(ref a,ref b,ref c,ref d);
        testObj.Work();
        Console.WriteLine("Main after TestClass: a=" + a + " b=" + b + " c=" + c + " d=" + d);
        Console.ReadLine();
    }
}

public class TestClass
{
    int _a, _b, _c, _d;
    public TestClass(ref int a, ref int b, ref int c, ref int d)
    {
        _a = a; _b = b; _c = c; _d = d;
    }

    public void Work()
    {
        Console.WriteLine("Work before changing: a=" + _a + " b=" + _b + " c=" + _c + " d=" + _d);
        _a = 0; _b = 1; _c = 2; _d = 3;
        Console.WriteLine("Work after changing: a=" + _a + " b=" + _b + " c=" + _c + " d=" + _d);
    }
}

Dieser Code gibt jedoch Folgendes zurück:

Main before TestClass: a=5 b=10 c=20 d=25
Work before changing: a=5 b=10 c=20 d=25
Work after changing: a=0 b=1 c=2 d=3
Main after TestClass: a=5 b=10 c=20 d=25

Gibt es eine Möglichkeit, die Methode die Werte der Variablen im Hauptprogramm ändern zu lassen? Vielen Dank!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage