日期:2014-05-18  浏览次数:20799 次

一个关于赋值的小问题
int   i=100;int   j我能不能将i的值赋给j,但不是传递给i一个副本,我希望把i的地址给j;i=?????????该怎么写?

------解决方案--------------------
// compile with: /unsafe

class Test
{
static void Main()
{
int i = 3;

unsafe
{
int* p = &i;

i = 7;
System.Console.WriteLine( "Value at the location pointed to by p: {0:X} ", *p);

*p = 20;
}

System.Console.WriteLine( "Value of the variable i: {0} ", i);
}
}


------解决方案--------------------
我建议你把它定义为一个属性就可以用了
不用显示地调用get 和set都可以用!
例如:
int i=0;
public int b
{
get { return i; }
set { i = value; }
}

------解决方案--------------------
要么你使用装箱,就是性能差点
------解决方案--------------------
利用ref的参数方法
int i=100;
int j;
int func(ref int i)
{
j=i;
}