C#中教材里没提的隐藏特性
大家好!我写C#大约一年了,读过几本书(Schildt, Troelsen),但感觉这门语言比看起来要深得多。在StackOverflow上偶然看到一个有76万浏览量的帖子“Hidden Features of C#”,但全是英文的。
我感兴趣的是那些对新手不明显的技巧。比如,我最近了解到`nameof()`——看似小事,但在重构时很有帮助。还有`??`(null-coalescing)——以前我写很长的if语句。
但有些东西我完全不懂。比如,什么是`yield return`?在示例中见过,但无法理解为什么需要它,如果可以直接返回List的话。还听说过“extension methods”——似乎可以向现有类型添加方法,但内部是如何工作的?
最大的问题是:C#中真的可以在Main()之前执行代码吗?还是这只是个传说?
请分享一些真正能简化生活的C#隐藏技巧。我对语法糖(比如`=>`用于)特别感兴趣。