Passing parameters by reference

image_pdfimage_print

   

/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy

Publisher: Sybex;
ISBN: 0782129110
*/

/*
  Example5_7.cs illustrates passing parameters by reference
*/


// declare the Swapper class
class Swapper
{

  // the Swap() method swaps parameters passed by reference
  public void Swap(ref int x, ref int y)
  {

    // display the initial values
    System.Console.WriteLine("In Swap(): initial x = " + x +
      ", y = " + y);

    // swap x and y
    int temp = x;
    x = y;
    y = temp;

    // display the final values
    System.Console.WriteLine("In Swap(): final   x = " + x +
      ", y = " + y);

  }

}


public class Example5_7
{

  public static void Main()
  {

    // declare x and y (the variables whose values
    // are to be swapped)
    int x = 2;
    int y = 5;

    // display the initial values
    System.Console.WriteLine("In Main(): initial x = " + x +
      ", y = " + y);

    // create a Swapper object
    Swapper mySwapper = new Swapper();

    // swap the values, passing a reference to the Swap() method
    mySwapper.Swap(ref x, ref y);

    // display the final values
    System.Console.WriteLine("In Main(): final   x = " + x +
      ", y = " + y);

  }

}