Skip to main content

What is Ref and out parameters in c# ?


About Ref and out parameters in c#!
Introduction :
ref :
we can pass an argument as a referance with this keyword. If any changes happen in the methos then the value will be reflected in the calling method. The value of the ref variable mustbe initalized befour calling the methos. Static keyword we have to use in the method.

Syntex:

public static return_type method_name(ref variable_name)
{
// body of the method
}


out :
The functionality of out key word is also same like ref but here we can pass an argument without initalized the value. Here also static key word have to use.

Syntex:
public static return_type method_name(out variable_name)
{
// body of the method
}

Example :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace codePractice
{
         class Program
        {
             static void Main(string[] args)
            {
                int x = 0, y = 10;
                callFunction(ref x);
                Console.WriteLine("value of x = " + x);
                Console.WriteLine("Befour calling method value of y = " + y);
                callFunction2(out y);
                Console.WriteLine("value of y = " + y);
                Console.ReadKey();
            }
                static void callFunction(ref int x)
                {
                         x = 15;
                }
                static void callFunction2(out int y)
                {
                                y = 15;
                }
        }
}

Output :

value of x = 15
Befour calling method value of y = 10

value of y = 15
Note :
In the method overloading time we can not use ref and out keyword at the same time.

Example :

static void Main(string[] args)
{
                int x = 0, y = 10;
                callFunction(ref x);
                Console.WriteLine("value of x = " + x);
                Console.WriteLine("Befour calling method value of y = " + y);
                callFunction(out y);
                Console.WriteLine("value of y = " + y);
                Console.ReadKey();
}
static void callFunction(ref int x)
{
                x = 15;
}
static void callFunction(out int y)
{
                y = 15;
}

Error:
//Error 1 Cannot define overloaded method 'callFunction' because it differs from another method only on
ref and out

Comments

Popular posts from this blog

How to get Reverse Of a number in C# ?

Reverse of a positive integer integer  number in c#  Program : using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Reverse {     class Program     {         static void Main( string [] args)         {             int num, rem, rev = 0;             Console .WriteLine( "//How to get Reverse of a number in c# ?" );             Console .WriteLine( "Enter A number :" );             num = Convert .ToInt32( Console .ReadLine());             if (num > 0)     ...

How to find sum of the digits of a number in c#?

Sum of the Digits of a number Program: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 {     class Program     {         static void Main( string [] args)         {             int num, sum = 0;             Console .WriteLine( "Enter a number :\n" );             num = Convert .ToInt32( Console .ReadLine());             if (num > 0)             {                 for ( int temp = num; tem...

How to check a number Prime or not in c# ?

/*Check a number Prime or not in C# */ Program : using  System; using  System.Collections.Generic; using  System.Linq; using  System.Text; using  System.Threading.Tasks; namespace  Primenumber {      class   Program     {          static   void  Main( string [] args)         {              int  num, flag = 0;              Console .WriteLine( "Enter A number :" );             num =  Convert .ToInt32( Console .ReadLine());              if  (num > 0)             {  ...