What is difference between ref and out keywords?
ref and out modifier are
useful whenever your method return more than one value. Both ref and out
modifier are used to pass arguments within a method.
While using Ref, following points that you
need to consider,
1. You must
initialize the parameter first before you pass it as a reference.
2. It is two-way
communication. ref parameters are used to get a value and potentially return a
change to that value.
out parameters are very much like reference parameters. out means that the parameter has no
value before going into the function. The called function must initialize it.
While using Out, following points that you need to consider,
1. You don't need
to initialize the value in the calling function.
2. You must assign the value in the
called function.
C# Program with ref and out keyword
public class CodeviewTest
{
public static void
Main() //calling method
{
int
salary = 200; //must be initialized
RefExample(ref
salary);
Console.WriteLine(salary);
// salary=100
int
Sal; //optional
OutExample(out
Sal);
Console.WriteLine(Sal);
// Sal=300
RefOutExample(ref
salary, out Sal);
Console.WriteLine(Sal);
// Sal=400
}
static void
RefExample(ref int salary) //called method
{
salary = 100;
}
static void
OutExample(out int salary) //called method
{
salary = 300; //must
be initialized
}
//both ref and out
keyword in a method
static void
RefOutExample(ref int salary, out int TotalSal) //called method
{
TotalSal = salary+200; //must
be initialized
}
}
/* Output
100
200
400
*/
No comments:
Post a comment