[Erledigt] [Erledigt] Variable soll Wert ändern

Hallo ihr Helfer!
Ich hab ein Problem. In folgendem Code möchte ich, dass die Variable xyz sich nach dem Methodenaufruf ändert. Sie soll den gleichen Wert haben, wie abc

[CSharp]class MainClass {

static void Main(string[] args) {
    MainClass myObject = new MainClass();
    int xyz = 11;
    int erg = myObject.Meth(ref xyz);
    Console.WriteLine("{0} - {1}",erg,xyz);
}

public int Meth(ref int abc) {
    return abc + abc;
}

}[/CSharp]

Ich übergebe ja xyz als Referenz an die Methode. In der Methode passiert etwas mit xyz. Müsste da nicht:
22 - 22
rauskommen? Kommt aber 22 - 11 raus. So, als ob die Variable xyz nicht verändert wurde…

Danke :smiley:

Naja, wenn du willst, dass sich die variable ändert, musst du sie irgendwie verändern :wink:
[csharp]return abc + abc;[/csharp]
Bedeutet: „Beende die Methode, nimm als Rückgabewert abc+abc“. Da steht nix von „abc verändern“.

[csharp] public int Meth(ref int abc) {
abc += abc;
return abc;
}[/csharp]
würde zum gewünschten Effekt führen.

Öhem… Bei näher Betrachtung…
Ja so gehts tatsächlich.

Danke dir für die schnelle Antwort.