哈哈,今天遇到一个有意思的问题,按值传递 != 值类型,按引用(地址)传递 != 引用类型

王朝c#·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

哈哈,今天遇到一个有意思的问题,按值传递 != 值类型,按引用(地址)传递 != 引用类型

哈哈,今天遇到一个有意思的问题,按值传递 != 值类型,按引用(地址)传递 != 引用类型 以下是我的结论:

按值传递 != 值类型

按引用(地址)传递 != 引用类型

引用类型传递的是引用的副本(可以理解为地址的副本)而ref传递的是地址

private void button1_Click(object sender, System.EventArgs e)

{

classOne a = new classOne('a');

a.i = 100;

classOne b = new classOne('b');

MySwap(a, b);

MessageBox.Show(a.str);

MessageBox.Show(a.i.ToString());

}

private void MySwap(classOne a, classOne b)

{

classOne c;

c=a;

a=b;

b=c;

MessageBox.Show(a.str);

MessageBox.Show(a.i.ToString());

}

public class classOne

{

public classOne(string s)

{

str = s;

}

public string str = '';

public int i = 0;

}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

private void button1_Click(object sender, System.EventArgs e)

{

classOne a = new classOne('a');

a.i = 100;

classOne b = new classOne('b');

MySwap(ref a, b);

MessageBox.Show(a.str);

MessageBox.Show(a.i.ToString());

}

private void MySwap(ref classOne a, classOne b)

{

classOne c;

c=a;

a=b;

b=c;

MessageBox.Show(a.str);

MessageBox.Show(a.i.ToString());

}

public class classOne

{

public classOne(string s)

{

str = s;

}

public string str = '';

public int i = 0;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航