有一個特殊的原因允許使用表達式作爲語句?爲什麼可以使用表達式作爲語句?
回答
否與其他C風格的語言兼容,也許。但是,嘿,爲什麼不呢?
如果你不喜歡它,請不要使用它。
他在說什麼? – 2011-06-11 22:41:41
@ Ritch Melton:像2 + 2這樣的東西,我接受它。 – Ryan 2011-06-11 22:43:56
@minitech - 哦。呃,好的。 – 2011-06-11 22:45:08
最着名的原因可能是i++
。
你能告訴我爲什麼嗎? – 2011-06-11 23:50:44
這是一個在迭代數組時經常用作獨立語句的表達式。 – gpeche 2011-06-13 15:08:41
並非所有的表達式可以作爲報表,根據編譯器錯誤:
Only assignment, call, increment, decrement, and new object expressions can be used as a statement.
對於所有的人,這是有道理單獨使用它們(尤其是分配!)。
爲什麼新的對象表達式也被允許,這並不是很明顯,但我認爲認爲它可以產生明顯的副作用並不是不合理的。
C#4規範在8.6節中討論了表達式語句,但是除了錯誤消息外,沒有其他說明。
如果您爲其副作用的唯一目的構造一個對象...不一定是好習慣,但是,嘿,陌生的事情已經發生。 – 2011-06-11 22:50:01
你可能會得到一個反向徽章... – Mehrdad 2011-06-11 23:13:52
謝謝,我正在檢查C#4規範:D – 2011-06-11 23:32:17
- 1. 爲什麼布爾表達式(帶有副作用)不足作爲語句?
- 2. 可以使用字符數組作爲switch語句的表達式嗎?
- 3. 是否可以使用帶有表達式的switch語句作爲case?
- 4. 爲什麼istream對象可以用作布爾表達式?
- 5. android retrolambda,語句lambda可以替換爲表達式lambda
- 6. Mozilla狀態表達式也是語句。爲什麼?
- 7. 爲什麼是一個表達式和語句
- 8. 爲什麼javascript void語句會評估表達式?
- 9. Let子句因爲它爲什麼可以使用此連接語句
- 10. 有什麼可以使用`int x = x;`表達式(C語言)?
- 11. 爲什麼我不能使用long原語作爲switch()部分的表達式?
- 12. 爲什麼使用常量表達式作爲模板參數?
- 13. 爲什麼使用LINQ表達式?
- 14. 爲什麼IF語句不起作用?
- 15. 爲什麼sed語句不起作用?
- 16. 爲什麼我的if語句以這種方式表現?
- 17. 爲什麼我不能在SQL case語句中使用位域作爲布爾表達式?
- 18. 將表達式語句拆分爲Roslyn
- 19. 轉化爲lambda表達式語句
- 20. 我可以在sql語句中使用算術表達式嗎?
- 21. 爲什麼使用@synthesize語句
- 22. 爲什麼使用連接語句?
- 23. 爲什麼一個php語句可以工作而另一個不可用?
- 24. 爲什麼使用re.findall()的正則表達式不起作用?
- 25. 爲什麼Ruby表達式使用雙重&符號使用return語句導致語法錯誤
- 26. 爲什麼window.onload允許我使用函數作爲函數表達式使用?
- 27. 爲什麼MySQL語句不工作?
- 28. 爲什麼INSERT INTO語句不工作?
- 29. 爲什麼lambda表達式稱爲lambda表達式?
- 30. 爲什麼正則表達式稱爲「常規」表達式?
你的問題非常模糊。你能舉個例子說說你在說什麼嗎?謝謝 – 2011-06-11 22:41:04
這就是我說的,但是在測試 – 2011-06-11 23:41:15