public class Test
{
public string Name;
public void CallFunctionByObjectRef(Test a)
{
a.Name = "BCD";
a = null;
}
public void CallFunctionByObjectRefTORef(ref Test a)
{
a.Name = "BCD";
a = null;
}
}
class Program
{
static void Main(string[] args)
{
Test test = new Test();
test.Name = "ABC";
test.CallFunctionByObjectRef(test);
Test test1 = new Test();
test1.Name = "ABC";
test1.CallFunctionByObjectRefTORef(ref test1);
Console.WriteLine(test.Name);
Console.WriteLine(test1.Name);
Console.Read();
}
}
In above called two function(using ref keyword, pass by object). I am getting different output from them. But class object by default pass by reference, why I am getting different output.