刚开始学习c#,out参数小结。out关键字和ref关键字执行方式一样,这里说一下区别:
1.ref修饰的参数必须对其赋初值,但是初值不能是常量(即不能用const修饰),因为按引用传递可能会改变参数的值。在函数使用out参数时,必须看做是尚未赋值(不晓得为什么),实参传递给形参的值在函数执行时会丢失。
参考一下代码段:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 引用参数
{
class Program
{
static int DoubleNum(ref int Number,out int Index)
{
Number*=2;
Index = 3;
Index *= 4;
Console.WriteLine("MyNumber={0}",Number);
return Number;
}
static void Main(string[] args)
{
int myNumber=6,MyIndex;//是否对MyIndex赋值对结果无影响;
DoubleNum(ref myNumber,out MyIndex);//MyIndex未进行赋值,因为在函数执行时,MyIndex传递给形参的值会丢失;
Console.WriteLine("MyNumber is {0}.",myNumber);
Console.WriteLine("MyIndex is {0}.", MyIndex);
Console.ReadKey();
return;
}
}
在使用时同return区别开。