日期:2014-05-19  浏览次数:20805 次

out关键字的问题
另外,在函数使用out参数时,该参数必须看作是还未赋值。即调用代码可以把已赋值的变量用作out参数,存储在该变量中的值会在函数执行时丢失。

这是书上说的请问这是什么意思
我之前的理解是
用out参数时,必须在函数中该参数初始化
跟第一句的意思是一样的但后面那句就不太懂
感觉意思应该是差不多但又不知道在说什么

------解决方案--------------------
void xx(out object e)
{
//初始化
e = null;
}
------解决方案--------------------
使用out关键字时 参数会在调用该方法后传出 但是该参数在函数中被视为未赋值参数

例如

private void Form1_Load(object sender, EventArgs e)
{

int k =0 ;
this.Fun(out k);
}

private void Fun(out int ivalue)
{
ivalue = 4;//ok
ivalue = ivalue * 2;//error out参数被视为未赋值参数
}