【发布时间】:2010-09-05 18:14:36
【问题描述】:
从this question 了解到以下内容后,我想到了这一点:
where T : struct
我们,C# 开发人员,都知道 C# 的基础知识。我的意思是声明、条件、循环、运算符等。
我们中的一些人甚至掌握了诸如Generics、anonymous types、lambdas、LINQ、...之类的东西。
但 C# 最隐秘的特性或技巧是什么,即使是 C# 爱好者、瘾君子、专家也几乎不知道?
以下是目前已揭示的功能:
关键词
-
yieldMichael Stum -
varMichael Stum -
using()kokos声明 -
readonlykokos -
asMike Stone -
as/isEd Swangren -
as/is(改进)Rocketpants -
defaultdeathofrats -
global::pzycoman -
using()阻止 AlexCuse -
volatileJakub Šturc -
extern aliasJakub Šturc
属性
-
DefaultValueAttributeMichael Stum -
ObsoleteAttributeDannySmurf -
DebuggerDisplayAttributeStu -
DebuggerBrowsable和DebuggerStepThroughbdukes -
ThreadStaticAttributemarxidad -
FlagsAttributeMartin Clarke -
ConditionalAttributeAndrewBurns
语法
-
??(coalesce nulls) operator by kokos - Nick Berardi 的编号标记
-
where T:newLars Mæhlum - Keith 的隐式泛型
- Keith 的单参数 lambda
- Keith 的自动属性
- Keith 的命名空间别名
- Patrick 带有 @ 的逐字字符串文字
-
enum值lfoust - @variablenames by marxidad
-
event运营商marxidad - 用Portman格式化字符串括号
- xanadont 的属性访问器可访问性修饰符
- 条件(三元)运算符 (
?:) by JasonS -
checked和unchecked运算符由 Binoj Antony -
implicit and explicit运营商Flory
语言特点
- Brad Barker 的可空类型
- Keith 的匿名类型
-
__makeref __reftype __refvalueJudah Himango - 对象初始化器lomaxx
- 用David in Dakota格式化字符串
- marxidad 的扩展方法
-
partialJon Erickson 的方法 - John Asbeck 的预处理器指令
-
DEBUGRobert Durgin 的预处理器指令 - SefBkn 导致运算符重载
- chakrit 的类型推断
- 布尔运算符taken to next level by Rob Gough
- 通过Roman Boiko将值类型变量作为接口传递而不装箱
- 通过Roman Boiko 以编程方式确定声明的变量类型
- Chris 的静态构造函数
- roosteronacid 使用 LINQ 使用 LINQ 更容易上手/精简 ORM 映射
-
__arglistZac Bowling
Visual Studio 功能
- 在编辑器中选择文本块Himadri
- DannySmurf 的片段
框架
-
TransactionScopeKiwiBastard -
DependantTransactionKiwiBastard -
Nullable<T>IainMH -
MutexDiago -
System.IO.Pathageektrapped -
WeakReferenceJuan Manuel
方法和属性
-
String.IsNullOrEmpty()方法KiwiBastard -
List.ForEach()方法KiwiBastard -
BeginInvoke(),EndInvoke()方法由 Will Dean -
Nullable<T>.HasValue和Nullable<T>.Value属性由 Rismo -
GetValueOrDefault方法John Sheehan
提示和技巧
- Andreas H.R. Nilsson 的事件处理程序的好方法
- John 的大写比较
- 通过dp 访问匿名类型而不进行反射
- Will 懒惰实例化集合属性的快速方法
- roosteronacid 的类似 JavaScript 的匿名内联函数
其他
【问题讨论】:
标签: c# hidden-features