The reference parameter is used to refer to the memory location of a variable. Unlike value parameters, which require a new storage location for the parameter, reference parameters represent the same memory location as the original parameters passed as arguments to the method. In C#, we use the keyword “ref” to declare reference parameters. When we pass reference arguments as parameters to a function in C#, we pass the reference to the memory location instead of the original value. We refer to this concept as “call by reference” in C#.
Syntax
ref data_typevariable_name
Where data_type is the data type of the variable with variable_name.
Given below are the examples mentioned:
C# program to demonstrate call by reference in which we calculate the square of a number and display the values before calling the function by reference and after the function is called.
Code:
using System; //a namespace called program1 is defined namespace program1 { //a class called check is defined class check { //a function is defined which takes reference variable as an argument public void displaypower(ref double value) { //the square of the passed value is found using pow method double power = Math.Pow(value,2); //The resulting value is added to the value passed as reference value = value + power; Console.WriteLine("Value when the control is inside the function "+value); } //main method is called static void Main(string[] args) { //a double variable is defined double value = 5; //an instance of the check class is defined which consists of the function taking reference parameter as an argument check check1 = new check(); Console.WriteLine("Value before the function is called "+value); //a function is called by reference check1.displaypower(ref value); Console.WriteLine("The value of the variable remains the same as inside the function because we are calling the function by reference " + value); } } }
Output:
Explanation:
C# program to demonstrate call by reference in which we convert the given string in small letters to capital letters by calling the function by reference and passing the string in small letters as a reference parameter.
Code:
using System; //a namespace called program1 is defined namespace program1 { //a class called check is defined class check { //a function is defined which takes reference variable as an argument public void displayupper(ref string value) { //ToUpper method is used to convert the string from small letters to capital letters value = value.ToUpper(); Console.WriteLine("Value when the control is inside the function "+value); } //main method is called static void Main(string[] args) { //a double variable is defined string value = "shobha"; //an instance of the check class is defined which consists of the function taking reference parameter as an argument check check1 = new check(); Console.WriteLine("Value before the function is called "+value); //a function is called by reference check1.displayupper(ref value); Console.WriteLine("The value of the variable remains the same as inside the function because we are calling the function by reference " + value); } } }
Output:
Explanation:
Recommended Articles
This is a guide to C# Call By Reference. Here we discuss the introduction with working and programming examples. You may also have a look at the following articles to learn more –
The above is the detailed content of C# Call By Reference. For more information, please follow other related articles on the PHP Chinese website!