繁体   English   中英

在c#上返回多个输出

[英]return more than one output on c#

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

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

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

使用ref或out参数

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);

使用out参数:

public string Function(out DataTable result)

像这样称呼它:

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

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

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

  public DataTable Table { get; set; }
}

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

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

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

使用元组作为回报。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM