C#语法快捷方式

4

我想知道是否有一个C#语法快捷方式的集合或列表。从简单的省略if语句中的花括号到像??合并运算符这样的复杂操作。


4
这可能被认为是 https://dev59.com/b-o6XIcBkEYKwwoYTzRZ 的重复内容。无论如何,你会在那篇文章中找到许多你需要的东西。 - HitLikeAHammer
8
省略 if 语句中的花括号并不是我认为良好实践。易读性和可维护性比按键次数更重要。使用代码片段或插件,如 ReSharper,可以减少输入。 - TrueWill
我同意Rick的看法,但如果有必要的话,这可能应该是一个社区维基。 - Sasha Chedygov
谢谢你的帖子,Rick。这正是我在寻找的东西。 - Graham Conzett
6个回答

11

我最喜欢的是

a = b ?? c;

这意味着

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

2
实际上,如果b不为空,则a等于b,否则a等于c。 - Rake36

11
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中的代码模板,这些模板可以帮助你加快编码速度。

但请注意,短小的代码不一定意味着好的代码。


5

c# 6.0有一些有趣的特性。 ?.?(空值条件运算符)是我最喜欢的。

var value = obj?.property; 可以转换成

var value = obj?.property

并且

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

变成了

var value = list?[0]

1

谢谢,我已经看过第一个了,上面有一些例子,我只是想知道是否存在更全面的列表,包括一些不那么明显的内容。 - Graham Conzett

0

我不知道有没有预编译的列表,但是C# 参考文档(尤其是 C# 关键字部分)简明地包含了你所需要的信息,只要你愿意花点时间阅读。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接