by value:
static void u (int x) { x = x + 1; } int y = 3 ; u (y); Console.WriteLine(y); // 3
by reference:
static void u (ref int x) { x = x + 1; } int y = 3 ; u (ref y); Console.WriteLine(y); // 4
Übung: ref/kein ref; struct (Werttyp)/class (Verweistyp)
class C { public int foo } static void u (ref C x) { x.foo=4; x=new C{foo=5};} C y = new C {foo=3} ; C z = y; u (ref y); Console.WriteLine(y.foo + " " + z.foo);