本帖最后由 陈君 于 2014-5-17 23:11 编辑
out和ref有什么区别啊?他们都是可以用来在调用参数的时候的参数类型,而且他们都能改变实参的值的吧。那他们的区别在哪里呢?有点搞不清楚了
下面附上程序
void swap(ref int a, ref int b)
{
int tmp;
tmp = a;
a = b;
b = tmp;
}
private void button1_Click(object sender, EventArgs e)
{
int x = 3;
int y = 4;
string s = "2323";
button1.Text = s;
swap(ref x,ref y);
MessageBox.Show("x="+x.ToString()+",y="+y.ToString());
int.TryParse(button1.Text,out y);
}
运行后MessageBox输出的x=4,y=3;而如果在int.TryParse(button1.Text,out y);这句的后面加上断点看下局部变量就会发现b=2323了说明了他们都能改变实参的值。那区别又在哪里呢?
|