我正在尋找真正的回報的短手。示例代碼解釋II更好:真正的回報的真空
if(error == true)
{
return;
}
我問的是代碼的短手版以上,基本上是這樣的:
error?return;
......或者......
error?.return;
......或者......
error||return;
...或其他。你們有這個想法,不,這些工作都沒有。
謝謝大家。
我正在尋找真正的回報的短手。示例代碼解釋II更好:真正的回報的真空
if(error == true)
{
return;
}
我問的是代碼的短手版以上,基本上是這樣的:
error?return;
......或者......
error?.return;
......或者......
error||return;
...或其他。你們有這個想法,不,這些工作都沒有。
謝謝大家。
三元運算符?:
並非設計用於控制流量,它只是設計用於有條件分配。如果您需要控制程序的流程,請使用控制結構,如if/else
。
三元運算符是用表達式的結果初始化一個變量。在編譯時,C#編譯器將三元表達式爲分支語句
?.
是在一個新的空,條件運算符介紹了C#6.0
因此,最好的辦法是
if(error) return
有條件的(又名三元)操作符不會出於同樣的原因工作,許多OP的建議將不起作用,「return」是一個陳述,而不是表達式。它不能用於需要表達式的地方(條件運算符,空條件運算符,布爾運算符等)。 –
是! @mikez我明白了你的觀點 –
我希望得到像'OnEventHandler?.Invoke(...)'這樣的東西,我發現它更具可讀性,它在使用前檢查每個事件處理函數。 – Lara
if(error == true)
{
return;
}
假設error
是一個布爾值,你可以縮短這樣說:
if (error) return;
請嘗試以下,
Boolean returnvalue = error==true? true : false;
或
Boolean returnvalue = error ? true : false;
請讓我知道,如果它爲你工作。
謝謝!
爲什麼這樣,而不是隻返回錯誤? 返回錯誤; –
它永遠不會返回一個空白值,所以你不需要爲此處理錯誤,否則你必須將默認值設置爲false給你的變量,這是不好的做法。 –
你會把它減少到一行嗎?除了讓它看起來更像bash,更不像c#,哈哈... – code4life
讓我很難理解爲什麼人們喜歡與真/假比較 – Danh