Pass references to methods : Parameter Reference « Language Basics « C# / CSharp Tutorial






using System; 
 
class MyClass {  
  int a, b; 
  
  public MyClass(int i, int j) {  
    a = i;  
    b = j;  
  }  
  
  /* Return true if ob contains the same values as the invoking object. */ 
  public bool sameAs(MyClass ob) {  
    if((ob.a == a) & (ob.b == b)) 
       return true;  
    else return false;  
  }  
 
  public void copy(MyClass ob) { 
    a = ob.a; 
    b  = ob.b; 
  } 
 
  public void show() { 
    Console.WriteLine("a: {0}, b: {1}", 
                      a, b); 
  } 
}  
  
class MainClass {  
  public static void Main() { 
    MyClass ob1 = new MyClass(4, 5);  
    MyClass ob2 = new MyClass(6, 7);  
  
    Console.Write("ob1: "); 
    ob1.show(); 
 
    Console.Write("ob2: "); 
    ob2.show(); 
 
    if(ob1.sameAs(ob2))  
      Console.WriteLine("ob1 and ob2 have the same values."); 
    else 
      Console.WriteLine("ob1 and ob2 have different values."); 
 
    Console.WriteLine(); 
 
    // now, make ob1 a copy of ob2 
    ob1.copy(ob2); 
 
    Console.Write("ob1 after copy: "); 
    ob1.show(); 
 
    if(ob1.sameAs(ob2))  
      Console.WriteLine("ob1 and ob2 have the same values."); 
    else 
      Console.WriteLine("ob1 and ob2 have different values."); 
 
  }  
}
ob1: a: 4, b: 5
ob2: a: 6, b: 7
ob1 and ob2 have different values.

ob1 after copy: a: 6, b: 7
ob1 and ob2 have the same values.








1.13.Parameter Reference
1.13.1.Pass references to methods
1.13.2.Objects are passed by reference.
1.13.3.Use ref to pass an int value type by reference
1.13.4.Passing value types by reference