使用C#方法返回不同数据类型的多个值?

Sub*_*bbu 2 c#

我有一个函数,它有两个参数:

 string[], double[]
Run Code Online (Sandbox Code Playgroud)

如何返回这两个值?怎么称呼这个功能?

Mic*_*ins 11

创建一个对象,其中包含要返回的值的属性:

public class MyReturnType
{
    public string[] MyStringArray { get; set; }
    public double[] MyDoubleArray { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后,您的方法将返回此新类型:

public MyReturnType Foo()
{
    ...
    return new MyReturnType { MyStringArray = strings; MyDoubleArray = doubles; };
}
Run Code Online (Sandbox Code Playgroud)


MUG*_*G4N 11

嘿你可以使用关键字"out":

column s1;
column s2;

public void method1(out value1, out value2)
{
select col1, col2, from tb1
value1 = col1;
value2 = col2;
}
Run Code Online (Sandbox Code Playgroud)


小智 7

  • 使用Tuple结构(.NET 4.0中的新结构,但您可以根据它在自己的dll中创建一个 - 它是多个泛型类型的简单容器).

  • 使用专门的运营商结构,如Michael Shimmins的回答说,但要使它成为一个结构,而不是一个类,除非它很大.

  • 如果这是纯粹的内部函数(案例问题),请使用dicitonary或对象数组.

  • 使用参数.

  • 不,抱歉 - 一本关于C#或文档基础知识的书都有所有的例子. (2认同)