從 C# 7.0 開始多了一個 - ValueTuple 的實值型別可以用,有用過的朋友應該都能感覺出其方便之處,尤其在撰寫多值回傳方法的時候,除了可以減少宣告過渡型類別的數量之外,還能避免在方法簽章中宣告多個 out 參數,沒想到它還可以簡化 Swap 程式碼。
2022-09-19
從 C# 7.0 開始多了一個 - ValueTuple 的實值型別可以用,有用過的朋友應該都能感覺出其方便之處,尤其在撰寫多值回傳方法的時候,除了可以減少宣告過渡型類別的數量之外,還能避免在方法簽章中宣告多個 out 參數,沒想到它還可以簡化 Swap 程式碼。
我們呼叫一個函式原則上以回傳一個結果為優,偶爾像 int.TryParse 使用 out 修飾詞,或是使用 Tuple 類別 來多吐一些結果,不過這些都不如將多個結果封裝成一個類別還來的合適,但是如果私有函式有回傳多個結果的需求,為此定義一個類別就顯得有些雞肋,除了要取一個適當的名字之外,還要定義它的存取限制,把它弄成 public 也不是,弄成 private 放在當前類別裡面又覺得「嘖...」。