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

时间:2011-11-23 14:54:17

标签: c#

  

可能重复:
  How can I return multiple values from a function in C#?

C#方法总是这样:

public <return type> funName()
{
//do sth
return someValueformatedasReturnType;
}

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

4 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:4)

您有几个选择:

  1. 输出参数
  2. 元组
  3. 具有2个属性的类

答案 2 :(得分:0)

使用两个输出定义新数据类型(Class):

public class Output
{
    public object Val1 { get; set; }
    public object Val2 { get; set; }
}

并返回Output:

类型的新对象
public Output FunName()
{
     Output out = new Output;
     out.Val1 = val1;
     out.Val2 = val2;
     return out;
}

答案 3 :(得分:0)

您可以使用ref或out关键字作为函数参数。

int i;
int j;

dosomething(out i, out j);    

public void dosomething(out int a, out int b)
{
   a = 1;
   b = 2;
}

调用函数后,i = 1,j = 2.对于ref关键字,msdn告诉差异:)

或返回一个元组。

@tudor

查看你的名字,使用out作为对象名:S,out用于通过引用传递值!