Example #1
0
 //Reference types
 static void NoRef(HelperObject a)
 {
     //a.Value == 10;
     a.Value = 17;
     //a.Value == 17;
     a = new HelperObject(25);
     //a.Value == 25;
     //a.Value == 17 in caller
 }
Example #2
0
 static void Ref(ref HelperObject a)
 {
     //a.Value == 10;
     a.Value = 17;
     //a.Value == 17;
     a = new HelperObject(25);
     //a.Value == 25;
     //a.Value == 25 in caller, because reference is changed to new object also in caller
 }
Example #3
0
        public static void RunReferences()
        {
            var a = new HelperObject(10);

            NoRef(a);
            System.Console.WriteLine($"NoRef returned Value: {a?.Value}");
            Ref(ref a);
            System.Console.WriteLine($"Ref returned Value: {a?.Value}");
        }