参数修饰符ref,out ,params的区别
2009-05-05 17:51
603 查看
NO.1 params
一个可以让方法(函数)的拥有可变参数的关键字。
原则:在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。
Code
public static string TestOut(out string i)
{
i = "out b";
return "return value";
}
public static void TestRef(ref string i)
{
//改变参数
i = "ref b";
}
public static void TestNoRef(string refi)
{
// 不用改变任何东西,这个太明显了
refi = "on c";
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string outi; //不需要初始化
MessageBox.Show(TestOut(out outi)); //返回值
//输出"return value";
MessageBox.Show(outi); //调用后的out参数
//输出"out b";
string refi = "a"; // 必须初始化
TestRef(ref refi); // 调用参数
MessageBox.Show(refi);
//输出"ref b";
TestNoRef(refi); //不使用ref
MessageBox.Show(refi);
//输出"ref b";
}
一个可以让方法(函数)的拥有可变参数的关键字。
原则:在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。
Code
public static string TestOut(out string i)
{
i = "out b";
return "return value";
}
public static void TestRef(ref string i)
{
//改变参数
i = "ref b";
}
public static void TestNoRef(string refi)
{
// 不用改变任何东西,这个太明显了
refi = "on c";
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string outi; //不需要初始化
MessageBox.Show(TestOut(out outi)); //返回值
//输出"return value";
MessageBox.Show(outi); //调用后的out参数
//输出"out b";
string refi = "a"; // 必须初始化
TestRef(ref refi); // 调用参数
MessageBox.Show(refi);
//输出"ref b";
TestNoRef(refi); //不使用ref
MessageBox.Show(refi);
//输出"ref b";
}
相关文章推荐
- 参数修饰符ref,out ,params的区别
- .net程序员的盲点(一):参数修饰符ref,out ,params的区别
- 参数修饰符ref,out ,params的区别
- .net程序员的盲点(一):参数修饰符ref,out ,params的区别
- .net程序员的盲点(一):参数修饰符ref,out ,params的区别
- .net程序员的盲点(一):参数修饰符ref,out ,params的区别
- 参数修饰符ref,out ,params的区别
- .net程序员的盲点(一):参数修饰符ref,out ,params的区别
- .net程序员的盲点(一):参数修饰符ref,out ,params的区别
- C#中参数修饰符ref和out以及params的区别
- .net程序员的盲点(一):参数修饰符ref,out ,params的区别
- c#.net中参数修饰符ref,out ,params得区别
- 参数修饰符ref,out ,params的区别
- c#.net中参数修饰符ref,out ,params得区别
- .net程序员的盲点(一):参数修饰符ref,out ,params的区别
- c#.net中参数修饰符ref,out ,params得区别
- .net程序员的盲点(一):参数修饰符ref,out ,params的区别
- .net程序员的盲点(一):参数修饰符ref,out ,params的区别
- c#.net中参数修饰符ref,out ,params的区别
- 参数修饰符ref,out ,params的区别