What is the difference between ref and out keywords in C#?
The ref and out keywords in C# are used to pass arguments to
methods by reference instead of by value. Both ref and out parameters are treated the same at compile-time but different at run-time. However, there is a several
differences between the ref and out. We will see difference in the example.
ref Example
using System;
using System.Collections.Generic;
using System.Linq;
namespace SoftwareEngineerDotNet
{
class Program
{
static void Main(string[] args)
{
// Assign string value
//parameters should initialize before it pass to ref
string name = "Amit";
//Pass as a reference parameter
SetName(ref name);
//Display name
Console.WriteLine(name);
}
static void SetName(ref string name2)
{
Console.WriteLine(name2);
//Assign the new value
//Not necessary to initialize the value of a parameter before returning
name2 = "Kumar";
}
}
}
Output:
Amit
Kumar
out keyword
using System;
using System.Collections.Generic;
using System.Linq;
namespace SoftwareEngineerDotNet
{
class Program
{
static void Main(string[] args)
{
//Declaring variable without assigning value
int salary;
//Pass salary variable to method with out keyword
GetSalary(out salary);
//Display name
Console.WriteLine("Sum of salary: {0}", salary);
}
//Method will return the value
public static void GetSalary(out int salary)
{
salary = 5000;
salary += salary;
}
}
}
Output:
Sum of salary: 10000
0 comments:
Post a Comment
Do not enter spam link