How do we pass parameters by reference in a C# method?

A reference parameter is a reference to a memory location of a variable. When you pass parameters by reference, unlike value parameters, a new storage location is not created for these parameters.

The reference parameters represent the same memory location as the actual parameters that are supplied to the method.

The following is an example displaying how to pass parameters by reference. Declare the reference parameters using the ref keyword.


 Live Demo

using System;
namespace CalculatorApplication {
   class NumberManipulator {
      public void swap(ref int x, ref int y) {
         int temp;
         temp = x; /* save the value of x */
         x = y; /* put y into x */
         y = temp; /* put temp into y */
      static void Main(string[] args) {
         NumberManipulator n = new NumberManipulator();
         /* local variable definition */
         int a = 100;
         int b = 200;
         Console.WriteLine("Before swap, value of a : {0}", a);
         Console.WriteLine("Before swap, value of b : {0}", b);
         /* calling a function to swap the values */
         n.swap(ref a, ref b);
         Console.WriteLine("After swap, value of a : {0}", a);
         Console.WriteLine("After swap, value of b : {0}", b);


Before swap, value of a : 100
Before swap, value of b : 200
After swap, value of a : 200
After swap, value of b : 100

Samual Sam
Samual Sam

Learning faster. Every day.

Updated on: 23-Jun-2020


Kickstart Your Career

Get certified by completing the course

Get Started