ref与out

static void Main(string[] args)
{
int intOut;//这里可以赋值,但赋的值在方法funout()中会被清空
funOut(out intOut);//这里out必须写
Console.Write(intOut);//输出1

int intRef = 1;//这里必须赋值,如果方法funref()中没有改变intRef,则输出原值
funRef(ref intRef);//这里ref必须写
Console.Write(intRef);//输出2
}
public static void funOut(out int i)
{
i = 1;//i必须赋值,即若这行不写时,将提示错误:控制离开当前方法之前必须对 out 参数“i”赋值
}
public static void funRef(ref int i)
{
i = 2;//i可以不赋值,即这行可以不写.
}
posted @ 2012-03-31 15:12  pantherbean  阅读(247)  评论(0编辑  收藏  举报