-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;
形式写东西。所以问题是,除了异常之外,还有什么办法来调用调用函数的控制流作为被调用的函数吗?
我严重不喜欢在宏中看到控制流程语句或以其他方式隐藏。不要这样做。例外是要走的路。 –
但是异常有很多开销。 –
你是什么意思开销?异常不用于控制流程,而是指示一个错误条件,超出这个条件就无法执行某个功能。你不会抛出异常只是为了将执行移到其他地方。 –