首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在c#中使用out参数是什么?

在c#中使用out参数是什么?
EN

Stack Overflow用户
提问于 2009-07-22 13:01:32
回答 9查看 13.8K关注 0票数 13

你能告诉我out参数的确切用法吗?

相关问题: 裁判和外裁判有什么区别?(C#)

EN

回答 9

Stack Overflow用户

发布于 2009-07-22 13:07:24

很好地使用out参数的最好例子是TryParse方法。

代码语言:javascript
复制
int result =-1;
if (!Int32.TryParse(SomeString, out result){
    // log bad input
}

return result;

使用TryParse而不是ParseInt消除了处理异常的需要,并使代码更加优雅。

out 参数从本质上允许从方法.返回多个值。

票数 17
EN

Stack Overflow用户

发布于 2009-07-22 13:03:55

方法参数上的out方法参数关键字将导致方法引用传递给该方法的相同变量。当控件返回调用方法时,对方法中的参数所做的任何更改都将反映在该变量中。 当您希望方法返回多个值时,声明out方法非常有用。使用out参数的方法仍然可以返回值。方法可以有多个out参数。 若要使用out参数,必须将参数作为out参数显式传递给方法。out参数的值不会传递给out参数。 作为out参数传递的变量不需要初始化。但是,必须在方法返回之前为out参数分配一个值。

一个例子:

代码语言:javascript
复制
using System;
public class MyClass 
{
   public static int TestOut(out char i) 
   {
      i = 'b';
      return -1;
   }

   public static void Main() 
   {
      char i;   // variable need not be initialized
      Console.WriteLine(TestOut(out i));
      Console.WriteLine(i);
   }
}
票数 6
EN

Stack Overflow用户

发布于 2009-07-22 13:03:18

http://msdn.microsoft.com/en-us/vcsharp/aa336814.aspx

Out参数仅输出参数,这意味着它们只能传递来自function.We的值,通过在参数数据类型前面加上out修饰符创建一个"out“参数。当传递"out“参数时,只向函数传递一个未赋值的引用。

代码语言:javascript
复制
using System;
class ParameterTest
{
 static void Mymethod(out int Param1)
 {
  Param1=100;
 }
 static void Main()
 {
  int Myvalue=5;
  MyMethod(Myvalue);
  Console.WriteLine(out Myvalue);             
 }
}

由于"out“参数的值被传递回调用部分,上述程序的输出将为100。备注

修饰符"out“应该在被传递的参数之前,甚至在调用部分中。在给函数赋值之前,不能在函数中使用"out“参数。在方法返回之前,应该为"out“参数赋值。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1165105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档