方法1:使用out关键字
例:
public class SingleFuncBack
{
public void ReturnDimensionns(int inputShape, out int height, out int width, out int area)
{
height = 0;
width = 0;
area = 0;
}
}
使用:
SingleFuncBack s = new SingleFuncBack();
int height;
int width;
int area;
s.ReturnDimensionns(1, out height, out width, out area);
ps: ref 和out区别
1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。
2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。
3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。
方法2:定义一个包含所有返回值的类或结构。
例:
定义结构:
public struct Dimensions
{
public int height;
public int width;
public int area;
}
方法实现
public Dimensions ReturnDimensionns(int inpuSHape)
{
Dimensions d = new Dimensions();
//给结构复制
return d;
}
调用:
SingleFuncBack s = new SingleFuncBack();
Dimensions ds = s.ReturnDimensionns(1);
方法3:使用tuple对象包含所有返回值
例:
public Tuple<int, int, int> ReturnDimensionnsAsTuple(int inputShape)
{
var obj = Tuple.Create<int,int,int>(5,10,15);
return obj;
}
调用:
SingleFuncBack s = new SingleFuncBack();
Tuple<int,int,int> ds = s.ReturnDimensionnsAsTuple(1);
ps:
1.Tuple中的数据是否进行修改的
2.Tuple可以包含不同类型任意数量的值
3.Tuple Create方法最多可以接受8个独立值,如果超过8个需要使用public static Tuple