-1
有沒有什麼辦法可以在函數中操作C#中的程序流?C#將「返回」放入函數中?
我的意思是在C++中,有可能將類似
#define Verify(x) if(x==null) return;
或
#define Verify(x) if(x==null) goto _exit;
成宏觀和地方驗證(x)的任何地方成一個函數。在這個例子中,如果滿足某些條件,宏可以退出函數。 但在C#中,你可以將驗證成一個函數,該函數會被內聯,但你總有在
if (Verify(x)) return;
形式寫東西。所以問題是,除了異常之外,還有什麼辦法來調用調用函數的控制流作爲被調用的函數嗎?
我嚴重不喜歡在宏中看到控制流程語句或以其他方式隱藏。不要這樣做。例外是要走的路。 –
但是異常有很多開銷。 –
你是什麼意思開銷?異常不用於控制流程,而是指示一個錯誤條件,超出這個條件就無法執行某個功能。你不會拋出異常只是爲了將執行移到其他地方。 –