Swap two references : Parameters Passing « Language Basics « C# / C Sharp






Swap two references

Swap two references
/*
C#: The Complete Reference 
by Herbert Schildt 

Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/
// Swap two references. 
 
using System; 
 
class RefSwap { 
  int a, b; 
   
  public RefSwap(int i, int j) { 
    a = i; 
    b = j; 
  } 
 
  public void show() { 
    Console.WriteLine("a: {0}, b: {1}", a, b); 
  } 
 
  // This method now changes its arguments. 
  public void swap(ref RefSwap ob1, ref RefSwap ob2) { 
    RefSwap t; 
  
    t = ob1; 
    ob1 = ob2; 
    ob2 = t; 
  } 
} 
 
public class RefSwapDemo { 
  public static void Main() { 
    RefSwap x = new RefSwap(1, 2); 
    RefSwap y = new RefSwap(3, 4); 
 
    Console.Write("x before call: "); 
    x.show(); 
 
    Console.Write("y before call: "); 
    y.show(); 
 
    Console.WriteLine(); 
 
    // exchange the objects to which x and y refer 
    x.swap(ref x, ref y);  
 
    Console.Write("x after call: "); 
    x.show(); 
 
    Console.Write("y after call: "); 
    y.show(); 
 
  } 
} 


           
       








Related examples in the same category

1.Parameter out and referenceParameter out and reference
2.Passing Parameters By Value and By RefPassing Parameters By Value and By Ref
3.Objects can be passed to methodsObjects can be passed to methods
4.Simple types are passed by valueSimple types are passed by value
5.Objects are passed by referenceObjects are passed by reference
6.Use ref to pass a value type by referenceUse ref to pass a value type by reference
7.Swap two valuesSwap two values
8.Use outUse out
9.Use two out parametersUse two out parameters
10.Demonstrate paramsDemonstrate params
11.Use regular parameter with a params parameterUse regular parameter with a params parameter
12.Parameter demoParameter demo
13.Passing parameters by referencePassing parameters by reference
14.Passing parameters by valuePassing parameters by value
15.Illustrates the use of out parametersIllustrates the use of out parameters
16.Pass value by referencePass value by reference
17.Pass value by reference with read only valuePass value by reference with read only value
18.Ref and Out Parameters: compiling error
19.C# Ref and Out ParametersC# Ref and Out Parameters
20.Ref and Out Parameters 2Ref and Out Parameters 2