1. 程式人生 > 其它 >C#方法多返回值

C#方法多返回值

場景:在go和python中方法可以返回多個值。在C#程式設計裡,有時候也需要,特別是呼叫帶返回值輸出引數還有查詢結果集的儲存過程時候特別需要。

一般在dao裡封裝一個操作ADO.NET的方法,向上返回結果。在上層才判斷邏輯的正確與否,並返回有好的應答到前端。在這裡我就把返回值作為成功與否的判斷標準,輸出引數作為錯誤資訊,再加上結果集的話,正好類似常用的json格式{'code':0,'msg':'','data':[]}。

那麼C#方法返回多個結果,有哪些方式呢?

ref引數

void func(ref int a,ref int b) ...

int A ,B= 1; //初始化

func(ref A,ref B);

使用A,B;

out引數

void func(out int a,out int B)...

int A,B; //未初始化

func(out A,out B);

使用A,B;

元組

Tuple<int,int>

值元組

return <1,3>

類結構或集合

將過個結果放在類結構或集合裡再返回。

在這裡,結合我的需求,過程的返回值是int,輸出引數一般是string,結果集是dataset或datatable,結構比較穩定。若是新建類或結構有點麻煩。可以參考下out或元組。