從 C# 7.0 開始多了一個 - ValueTuple 的實值型別可以用,有用過的朋友應該都能感覺出其方便之處,尤其在撰寫多值回傳方法的時候,除了可以減少宣告過渡型類別的數量之外,還能避免在方法簽章中宣告多個 out 參數,沒想到它還可以簡化 Swap 程式碼。
過去我們所學到的,或是教科書上的 Swap 範例大都這樣寫:
int a = 1;
int b = 2;
int tmp = a;
a = b;
b = tmp;
這樣寫沒什麼毛病,相同的邏輯搬到其他的程式語言幾乎都能通,如果我們是用 C# ValueTuple 的話,可以幫助我們從三句陳述式簡化到一句陳述式,透過 ValueTuple 的簡化宣告語法就能辦到。
int a = 1;
int b = 2;
(a, b) = (b, a);
偉哉!感謝微軟 C# 的開發團隊,讓我可以多省那幾秒鐘,也將此應用分享給各位朋友,希望有省到大家的那幾秒鐘。