这是一个非常天真的问题,但我之前没有使用过元组,所以要问这个问题。 我在访问函数返回值时遇到了一些问题,这是另一个函数中的元组。
这是我的代码:
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);
答案 0 :(得分:2)
你不需要创建一个新的元组:
var tResp = objManager.CreateTransaction();
Update(tResp.Item1, tResp.Item2, tResp.Item3);
CreateTransaction()
已经返回了您可以立即使用的Tuple
答案 1 :(得分:2)
更短:
var tRespon = objManager.CreateTransaction();
Update(tRespon.Item1,tRespon.Item2,tRespon.Item3);
答案 2 :(得分:1)
试试这个:
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);