您的位置:首页 > 其它

参数修饰符ref,out ,params的区别

2008-08-14 09:57 363 查看
C#中有三个关键字-ref,out ,params,虽然本人不喜欢这三个关键字,因为它们疑似破坏面向对象特性。但是既然m$把融入在c#体系中,那么我们就来认识一下参数修饰符ref,out ,params吧,还有它们的区别。

NO.1 params
[align=left]一个可以让方法(函数)的拥有可变参数的关键字。[/align]

原则:在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。

示例(拷贝到vs2005中即可用,下面不再说明)

public partial class Form1 : Form

public static string TestOut(out string i)

public static void TestRef(ref string i)

public static void TestNoRef(string refi)

public Form1()

private void button1_Click(object sender, EventArgs e)

...{


string outi;//不需要初始化


MessageBox.Show(TestOut(out outi));//返回值
//输出"out b";


MessageBox.Show(outi);//调用后的out参数
//输出"return value";






string refi = "a"; // 必须初始化


TestRef(ref refi); // 调用参数


MessageBox.Show(refi);
//输出"ref b";


TestNoRef(refi);//不使用ref


MessageBox.Show(refi);
//输出"ref b";


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