在c#上返回多个输出

时间:2010-12-03 03:21:07

标签: c# return

如何在c#函数中返回多个类型,就像我想返回字符串和数据表一样?

5 个答案:

答案 0 :(得分:3)

最简单的答案是使用DataTable的TableName属性。

更一般的答案是使用Tuple<DataTable, string>或编写类或结构。

答案 1 :(得分:3)

使用参考或输出参数

ref参数:需要通过调用方法进行初始化。

public string ReturnName(ref int position)
{
     position = 1;
     return "Temp"
}


public string GetName()
{
     int i =0;
     string name = ReturnName(ref i);
     // you will get name as Temp and i =1

}


// best use out parameter is the TryGetXXX patternn in various places like (int.TryParse,DateTime.TryParse)
 int i ;
 bool isValid = int.TryParse("123s",out i);

答案 2 :(得分:2)

使用out参数:

public string Function(out DataTable result)

这样称呼:

DataTable table;
string result = Function(out table);

答案 3 :(得分:2)

您可以定义自己的类作为返回类型:

class MyReturnType
{
  public string String { get; set; }

  public DataTable Table { get; set; }
}

并返回该实例。您可以使用元组,但通常更好的是拥有有意义的类型和属性名称,特别是如果其他人将要使用该软件。

或者你可以在函数上使用out参数。

你去的方式取决于你的情况。如果字符串和DataTable是同一个东西的两个部分,那么一个类是有意义的。如果在创建DataTable时字符串用于错误消息,则out参数可能更合适。

答案 4 :(得分:1)

使用元组作为回报。