[英]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.