public partial class 知识点 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
//调用方法之前,传递参数的时候,参数可以先不初始化
//方法返回前,必须给out参数赋值,因为out参数值是不能通过实参传递到方法中的
private int outFun(out Object a)
{
string s = "other opt";
//a = Convert.ToInt32(a) + 1; //编译不通过,Use of unassigned out parameter 'a'
a = 11;//方法返回前,必须给out参数赋值
return 1;
}
//必须在调用前,给ref参数初始化
//方法中不强制给ref参数赋值,因为实参已经通过ref参数传递进来,ref参数已经实例化过。
private int refFun(ref Object b)
{
//string s = b.ToString();//运行异常,空引用
//方法返回前,可以不给给ref参数赋值
b = Convert.ToInt32(b) + 1;//ref参数,成功传递到被调用的方法
return 1;
}
protected void Button2_Click(object sender, EventArgs e)
{
Object a;//可以先不初始化
//Object a = 1;
int returnVal = outFun(out a);
Response.Write(returnVal+"\t"+a.ToString());
//Object b;//Error 2 使用了未赋值的局部变量“b” J:\学习项目\MianShiTi\Web\知识点.aspx.cs 38 20 Web(2)
Object b = null;//必须在调用前,给ref参数初始化
refFun(ref b);
Response.Write("<br/> b:" + b);
}
}
来源:https://www.cnblogs.com/sen068/p/5099299.html