如何从1 c#方法返回2个值?

Sle*_*ght -4 c#

可能重复:
如何从C#中的函数返回多个值?

C#方法总是这样:

public <return type> funName()
{
//do sth
return someValueformatedasReturnType;
}
Run Code Online (Sandbox Code Playgroud)

如何从1 c#方法返回2个值?这是一个面试问题,就像你知道的那样.谢谢!

Mic*_*tum 8

从最好到最差(恕我直言):

  • 为返回类型创建一个新类
  • 用一个 Tuple
  • 使用参数

  • @George - 我不能代表迈克尔,但http://stackoverflow.com/questions/281036/are-out-parameters-a-bad-thing-in-net这个问题和第一个回复总结了我的观点参数. (3认同)
  • 为什么`Tuple`优于out参数? (2认同)
  • @GeorgeDuckett这是主观的,但输出参数总是有很多的样板添加给调用者(需要事先声明的变量)和方法签名复杂(有些返回类型都在左侧,有些则是在签名).当然,这取决于,例如`int.TryParse`作为out参数而不是`Tuple <bool,int>`甚至是'Nullable <int>`. (2认同)