C# 在不为返回类型或OUT参数创建类的情况下,是否可以从方法返回多个值?
如果我有这样的方法:C# 在不为返回类型或OUT参数创建类的情况下,是否可以从方法返回多个值?,c#,C#,如果我有这样的方法: private void RunExecute() { var rc1 = doStuff(2); var rc2 = doStuff(1); } 有没有什么方法可以同时返回rc1和rc2而不是void,而无需创建特殊类并将其用作返回类型,也无需将rc1和rc2声明为out参数?您可以使用元组 private (T,T) RunExecute() { var rc1 = doStuff(2); var rc2 = doStuff(1);
private void RunExecute()
{
var rc1 = doStuff(2);
var rc2 = doStuff(1);
}
有没有什么方法可以同时返回rc1和rc2而不是void,而无需创建特殊类并将其用作返回类型,也无需将rc1和rc2声明为out参数?您可以使用元组
private (T,T) RunExecute()
{
var rc1 = doStuff(2);
var rc2 = doStuff(1);
return (rc1,rc2)
}
其中T是doStuff返回的类型
例如,如果doStuff返回int
private (int,int) RunExecute()
要调用该方法并使用结果,可以使用语法
var (p1,p2) = RunExecute();
使用元组的另一种方法是命名元组元素。例如,在声明期间
private (int returnValue1,int returnValue2) RunExecute()
并称之为
var result = RunExecute();
Console.WriteLine(result.returnValue1);
Console.WriteLine(result.returnValue2);
PS:如果您正在使用C#请阅读并展示您的尝试。请参考以下答案:您能否展示一个我将如何调用和使用RunExecute的示例。Thanks@Alan2我已经用方法调用和如何获取结果更新了答案。请查收
private Tuple<int, int> RunExecute()