您的位置:首页 > 编程语言 > C#

c#中out与ref的用法与区别

2007-10-01 09:35 429 查看
1、out必须在函数体内初始化,在外面初始化没意义。也就是说,out型的参数在函数体内不能得到外面传进来的初始值。

2、ref必段在函数体外初始化。

3、两都在函数体的任何修改都将影响到外面。

例:

using System;

namespace ConsoleApplication1

{

class C

{

public static void reffun(ref string str)

{

str += " fun";

}

public static void outfun(out string str)

{

str = "test"; //必须在函数体内初始

str += " fun";

}

}

class Class1

{

[STAThread]

static void Main(string[] args)

{

string test1 = "test";

string test2; //没有初始

C.reffun( ref test1 ); //正确

C.reffun( ref test2 ); //错误,没有赋值使用了test2

C.outfun( out test1 ); //正确,但值test传进去

C.outfun( out test2 ); //正确

Console.Read();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: