2009-09-16 38 views
3

我想知道是否存在C#語法快捷鍵的集合或列表。簡單地省略if聲明中的花括號,直至??合併運算符。C#語法快捷鍵

+4

這可能被視爲http://stackoverflow.com/questions/9033的副本/隱藏特徵-的-C。無論如何,你會在那篇文章中發現很多你正在尋找的東西。 – HitLikeAHammer 2009-09-16 22:33:32

+8

忽略if語句大括號不是我認爲的一種好習慣。可讀性和可維護性比擊鍵次數更重要。使用ReSharper等片段或插件來減少輸入。 – TrueWill 2009-09-16 22:35:55

+0

我同意瑞克,但如果有的話,這應該可能是一個社區維基。 – 2009-09-16 22:45:47

回答

10
a = b ? c : d ; 

是短期的

if (b) a = c; else a = d; 

而且

int MyProp{get;set;} 

是短期的

int myVar; 
int MyProp{get {return myVar; } set{myVar=value;}} 

也看到在Visual Studio中,它允許您以加快編碼了代碼模板。

但請注意,短代碼並不意味着一定是好代碼。

0

我不知道預編譯列表,但C# Reference(特別是C#關鍵字部分)簡要地包含了您要查找的信息,如果您願意閱讀一下。

1

這個C#基礎參考pdf document如何看待你?

這是another pdf

+0

謝謝,我已經看到了第一個,那裏有幾個例子,我只是想知道是否有一個更全面的列表,其中包括一些不那麼明顯的列表。 – 2009-09-16 22:47:58

10

我所有的時間最喜歡的是

a = b ?? c; 

它轉換爲

if (b != null) then a = b; else a = c; 
+2

實際上,如果b不爲空,那麼a等於b,否則等於c – Rake36 2009-09-17 01:36:31

4

C#6.0有一些有趣的。 ?.?(空條件運算符)是我的最愛。

var value = obj != null ? obj.property : null;變成

var value = obj?.property 

var value = list != null ? list[0] : null;

變成

var value = list?[0]