ref“双向”,out“单向,而且向外传”,ref需要初始化,out初始化可以,不初始化也可以。
下面的代码楼主运行一下,应该可以加深一些理解。
static void Main(string[] args)
{
string e="zaoan", f="china";
outTest(out e,out f);
Console.WriteLine("{0},{1}",e,f);
Console.ReadKey();
refTest(ref e, ref f);
Console.WriteLine("{0},{1}", e, f);
Console.ReadKey();
}
static void refTest(ref string a, ref string b)
{
Console.WriteLine("{0},{1}", a, b);
Console.ReadKey();
a = "hello";
b = "world";
}
static void outTest(out string c, out string d)
{
c = "nihao";
d = "beijing";
} |