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