天天看點

通過ref傳回解決C# struct結構體鍊式調用的問題

通常結構體不能進行鍊式調用,因為傳回值是一個新的值,需要賦回原值。但現在通過ref關鍵字配合擴充方法,也能進行鍊式調用了。

結構體:

執行測試:

那麼借助c#新的ref關鍵字,我們可以引用傳回結構:

但是編譯器不能通過,沒關系,可以通過擴充方法實作。

擴充方法實作ref傳回:

結構:

擴充方法:

調用測試:

可見,結果正确。并且使用ref,函數傳回時不會建立新的結構體。

繼續閱讀