2009-09-16 41 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]