一個方法返回多個數據項
阿新 • • 發佈:2018-11-27
方法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