簡體   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