T
Tee
Hi guys,
I am confused about the usage of "ref".
Please see this code:
private void button3_Click(object sender, System.EventArgs e)
{
DataTable dt = new DataTable();
AddColumn(dt);
Console.WriteLine(dt.Namespace);
RefAddColumn(ref dt);
Console.WriteLine(dt.Namespace);
}
private void AddColumn(DataTable table)
{
table.Namespace = "NoRef";
}
private void RefAddColumn(ref DataTable table)
{
table.Namespace = "Ref";
}
In this case, ref and without ref have no difference. The table got the
namespace changed.
But in this piece of code,
private void button4_Click(object sender, System.EventArgs e)
{
char i = 'a';
TestRef(ref i);
Console.WriteLine(i);
TestNoRef(i);
Console.WriteLine(i);
}
private void TestRef(ref char i)
{
i = 'b';
}
private void TestNoRef(char i)
{
i = 'c';
}
only the one with "ref" works for this "char i"...
why ref & without-ref work for DataTable but not char i?? Can anyone tell
me?
Thanks,
Tee
I am confused about the usage of "ref".
Please see this code:
private void button3_Click(object sender, System.EventArgs e)
{
DataTable dt = new DataTable();
AddColumn(dt);
Console.WriteLine(dt.Namespace);
RefAddColumn(ref dt);
Console.WriteLine(dt.Namespace);
}
private void AddColumn(DataTable table)
{
table.Namespace = "NoRef";
}
private void RefAddColumn(ref DataTable table)
{
table.Namespace = "Ref";
}
In this case, ref and without ref have no difference. The table got the
namespace changed.
But in this piece of code,
private void button4_Click(object sender, System.EventArgs e)
{
char i = 'a';
TestRef(ref i);
Console.WriteLine(i);
TestNoRef(i);
Console.WriteLine(i);
}
private void TestRef(ref char i)
{
i = 'b';
}
private void TestNoRef(char i)
{
i = 'c';
}
only the one with "ref" works for this "char i"...
why ref & without-ref work for DataTable but not char i?? Can anyone tell
me?
Thanks,
Tee