[英]Access function return type as Tuple in C#
這是一個非常幼稚的問題,但是我之前沒有使用過元組,所以請問一下。 訪問函數返回值(另一個函數中的元組)時遇到一些問題。
這是我的代碼:
public Tuple<string, string, string> CreateTransaction()
{
var tCompResp = new Tuple<string, string, string>(T, TCode, Message);
return tCompResp;
}
現在我不確定如何在其他頁面中訪問上述函數的返回值
var tResp = new Tuple<string, string, string>((objManager.CreateTransaction()).Item1, (objManager.CreateTransaction()).Item2, (objManager.CreateTransaction()).Item3);
在上面的行中,我可以訪問返回元組,但是問題是我正在調用相同的函數(CreateTransaction())3次
所以我的問題是如何在單次調用中獲得函數的元組返回值?
String tRespon = objManager.CreateTransaction() ///Suppose if return type is string.
我將在另一個函數中使用此值
Update(tRespon.Item1, tRespon.Item2, tRespon.Item3);
您不需要創建新的元組:
var tResp = objManager.CreateTransaction();
Update(tResp.Item1, tResp.Item2, tResp.Item3);
CreateTransaction()
已經返回一個Tuple
,您可以立即使用
甚至更短:
var tRespon = objManager.CreateTransaction();
Update(tRespon.Item1,tRespon.Item2,tRespon.Item3);
嘗試這個:
Tuple<string,string,string> tRespon = objManager.CreateTransaction();
Update(tRespon.Item1,tRespon.Item2,tRespon.Item3);
CreateTransaction
返回Tuple<string,string,string>
而不是string
總是可以使用var
代替Tuple<string,string,string>
var tRespon = objManager.CreateTransaction();
請注意, var
只是另一種寫方法,而不是類型。
但更好的方法應該是使用新類返回此數據:
public class ConnectionInfo
{
public string T;
public string Code;
public string Message;
}
public ConnectionInfo CreateTransaction()
{
var tCompResp = new ConnectionInfo{T=T, Code=TCode, Message=Message};
return tCompResp;
}
然后
var tRespon = objManager.CreateTransaction();
Update(tResp.T, tResp.Code, tResp.Message);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.