爲什麼下面的代碼行不能在一個方法中工作?在C#中使用return和short-hand
return (count > 0) ? true : false;
這工作完全正常,如果我做的:
bool ret = (count > 0) ? true : false;
return ret;
獎勵題:難道真的更快或更有效的比if語句的標準是什麼?
bool ret = false;
if(count > 0)
ret = true;
return ret;
您會推薦哪一個?
我認爲沒有編譯時錯誤,只是該方法返回錯誤的值? – ChrisF 2009-09-08 08:19:28
這是編譯時錯誤...我的語法有錯誤。 – 2009-09-08 08:31:45
在第三級操作員的情況下經常發生的情況是,對第一個結果(count> 0)的評估確定函數將使用的返回值。我假設你的函數返回布爾值?
我會嘗試確定(計數> 0)的值。如果這是問題,您可能需要整個陳述:
return(bool)((count> 0)?true:false); 這是我在其他地方看到的奇怪之處。 – KevinDTimm 2009-09-08 08:34:31