黑马程序员技术交流社区

标题: out关键字的用法 [打印本页]

作者: 刘玺    时间: 2012-6-24 17:32
标题: out关键字的用法
谁能举例说明一下out关键字的用法,谢了
作者: 张恒维    时间: 2012-6-24 17:50
out关键字是指定所给的参数是输出参数,参数在传递之前不需要显式初始化.
  1. static void Main(string[] args)
  2. {
  3.       int value;
  4.       Method(out value);
  5.       Console.WriteLine(value);
  6. }
  7. static void Method(out int i)
  8. {
  9.       i = 44;//参数必须在方法内赋初始值
  10. }

复制代码

作者: 刘玺    时间: 2012-6-24 18:30
  1. string str = textBox1.Text;
  2.             int i;
  3.             if(!int.TryParse(str,out i))
  4.             {
  5.                 MessageBox.Show("第一个数不是合法的整数");
  6.                 return;
  7.             }
复制代码
WinForm中 这样不给 i 赋初始值,也没错吧?
作者: 平建    时间: 2012-6-24 19:19
刘玺 发表于 2012-6-24 18:30
WinForm中 这样不给 i 赋初始值,也没错吧?

不会报错!!
作者: 王玲星    时间: 2012-6-27 16:30
刘玺 发表于 2012-6-24 18:30
WinForm中 这样不给 i 赋初始值,也没错吧?

int.TryParse(str,out i) 就算给 i 赋了值。
作者: 赵力    时间: 2012-6-28 00:10
  帮助有说
out 关键字会导致参数通过引用来传递。 这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。 若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字 如
  1. class OutExample
  2. {
  3.     static void Method(out int i)
  4.     {
  5.         i = 44;
  6.     }
  7.     static void Main()
  8.     {
  9.         int value;
  10.         Method(out value);
  11.         // value is now 44
  12.     }
  13. }
复制代码

作者: xiaozehope    时间: 2012-7-2 01:23
ref和out这两个关键字都能够提供相似的功效,其作用也很像C中的指针变量。它们的区别是:

1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。  

2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。  

3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

对于out关键字的用法已经很清楚了,必须在方法中对其完成初始化,在方法的参数和执行方法时要加out关键字,out适合用在有需要return多个返回值的地方。

作者: 许庭洲    时间: 2012-7-2 10:38
举个out必须在方法中对其完成初始化的例子:
static void Main(string[] args)
{
  int i ;
  FF( out i);
  Console.WriteLine(i);
}
static void FF(out int i)//在方法FF中对变量i使用out引用
{
  i=10; //如果没有这个赋值,系统将会报错的
  i = i + 1;
}
作者: 侯慧杰    时间: 2012-7-8 20:28
out的值是在被调用的方法里赋值,而不是在调用者里赋值




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2