public static int GetSumAndAvg(ref int numOne, ref int numTwo, out int avg)//如果这里不用ref交换变量不会成功
{
//交换变量,并计算总和还有平均值
int numThree = numOne;
numOne = numTwo;
numTwo = numThree;
int sum = numOne + numTwo;
avg = sum / 2;
return sum;//返回总和,用了out能多返回一个平均值avg
}
复制代码
作者: wang346351 时间: 2013-4-17 16:43
out 主要用于传出值,ref 即可传入值也可传出值,使用lout和out 传值的参数前都要加上out或者ref
使用out修饰的参数在使用前必须对其进行赋值.
static void Main(string[] args)
{
int number;
int result=Test(out number);
Console.WriteLine(result);
Console.ReadKey();
}
static int Test(out int a)
{
a = 600;
int b = a;
return b;
}作者: 史鹏飞 时间: 2013-4-17 16:57
如果参数是以out形式传入的,可以不赋初值,方法中用out修饰的参数,在使用前必须赋值即out主要用于传出值。而ref指的是引用既可以传入也可以传出值。作者: 张振 时间: 2013-4-17 23:51
class Program
{
static void Main(string[] args)
{
int number=0;
int result = Test(out number);
Console.WriteLine("number={0} result={1}", number, result);
Console.ReadKey();
}
static int Test(out int a)
class Program
{
static void Main(string[] args)
{
int number=0;
int result = Test(ref number);
Console.WriteLine("number={0} result={1}", number, result);
Console.ReadKey();
}
static int Test(ref int a) //把a值赋给number