This is difference between ref and out parameter:
- When we pass a ref parameter we must assign it a value.
- When we pass a out parameter do not need of assign a value.
- Out parameter in method we must assign a value before returning
static void Main(string[] args)
{
string name = "Ahsan";
SetName(ref name);
Console.WriteLine(name);
string occupation = "Engineer";
SetOccupation(ref name, out occupation);
Console.WriteLine(occupation);
Console.ReadLine();
}
static void SetName(ref string name)
{
if (name == "Ahsan")
{
Console.WriteLine("This is {0}",name);
}
name = "Wasim";//assign a new name
}
static void SetOccupation(ref string name, out string occupation)
{
if (name == "Wasim")
{
occupation = "Student";
}
else
{
occupation = "Engineer";
}
}Out Put:This is Ahsan
Wasim
Student
