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 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)             {  ...

How to Copy one datatable to another datatable

Introduction : In this article i am going to share about how to copy a datatable to a new datatable object , and how to add a new row to the datatable. Overview : Generally we used datatable object to store out table data, sometime we want to store that datatable temporally to a another datatable object that time we need to copy the datatable and store to newly created object . It's a best practice to copy our main datatable when we need that datatable multiple times  and used the copyed object. We can add a new column dynamically to the newly created object. Code Example : Syntex : DataTable dest = MainDatatable; Connection String : <connectionStrings>    <add name="conn" connectionString="Data Source=anil\SQLEXPRESS2012;Initial Catalog=MyDB; User ID=sa;Password=sa1" providerName="System.Data.SqlClient" />  </connectionStrings> C# Code : SqlConnection con = new SqlConnec...