yieldby Michael StumMichael Stumvarby Michael StumMichael Stumusing()statement by kokoskokosreadonlyby kokoskokosasby Mike StoneMike Stoneas/isby Ed SwangrenEd Swangrenas/is(improved) by RocketpantsRocketpantsdefaultby deathofratsdeathofratsglobal::by pzycomanpzycomanusing()blocks by AlexCuseAlexCusevolatileby Jakub ŠturcJakub Šturcextern aliasby Jakub ŠturcJakub Šturc
DefaultValueAttributeby Michael StumMichael StumObsoleteAttributeby DannySmurfDannySmurfDebuggerDisplayAttributeby StuStuDebuggerBrowsableandDebuggerStepThroughby bdukesbdukesThreadStaticAttributeby marxidadmarxidadFlagsAttributeby Martin ClarkeMartin ClarkeConditionalAttributeby AndrewBurnsAndrewBurns
??(coalesce nulls) operator by kokoskokos- Number flaggings by Nick BerardiNick Berardi
where T:newby Lars MæhlumLars Mæhlum- Implicit generics by KeithKeith
- One-parameter lambdas by KeithKeith
- Auto properties by KeithKeith
- Namespace aliases by KeithKeith
- Verbatim string literals with @ by PatrickPatrick
enumvalues by lfoustlfoust- @variablenames by marxidadmarxidad
eventoperators by marxidadmarxidad- Format string brackets by PortmanPortman
- Property accessor accessibility modifiers by xanadontxanadont
- Conditional (ternary) operator (
?:) by JasonSJasonS checkedanduncheckedoperators by Binoj AntonyBinoj Antonyimplicit and explicitoperators by FloryFlory
- Nullable types by Brad BarkerBrad Barker
- Anonymous types by KeithKeith
__makeref __reftype __refvalueby Judah HimangoJudah Himango- Object initializers by lomaxxlomaxx
- Format strings by David in DakotaDavid in Dakota
- Extension Methods by marxidadmarxidad
partialmethods by Jon EricksonJon Erickson- Preprocessor directives by John AsbeckJohn Asbeck
DEBUGpre-processor directive by Robert DurginRobert Durgin- Operator overloading by SefBknSefBkn
- Type inferrence by chakritchakrit
- Boolean operators taken to next level by Rob GoughRob Gough
- Pass value-type variable as interface without boxing by Roman BoikoRoman Boiko
- Programmatically determine declared variable type by Roman BoikoRoman Boiko
- Static Constructors by ChrisChris
- Easier-on-the-eyes / condensed ORM-mapping using LINQ by roosteronacidroosteronacid
__arglistby Zac BowlingZac Bowling
- Select block of text in editor by HimadriHimadri
- Snippets by DannySmurfDannySmurf
TransactionScopeby KiwiBastardKiwiBastardDependantTransactionby KiwiBastardKiwiBastardNullable<T>by IainMHIainMHMutexby DiagoDiagoSystem.IO.Pathby ageektrappedageektrappedWeakReferenceby Juan ManuelJuan Manuel
String.IsNullOrEmpty()method by KiwiBastardKiwiBastardList.ForEach()method by KiwiBastardKiwiBastardBeginInvoke(),EndInvoke()methods by Will DeanWill DeanNullable<T>.HasValueandNullable<T>.Valueproperties by RismoRismoGetValueOrDefaultmethod by John SheehanJohn Sheehan
- Nice method for event handlers by Andreas H.R. NilssonAndreas H.R. Nilsson
- Uppercase comparisons by JohnJohn
- Access anonymous types without reflection by dpdp
- A quick way to lazily instantiate collection properties by WillWill
- JavaScript-like anonymous inline-functions by roosteronacidroosteronacid
- netmodules by kokoskokos
- LINQBridge by Duncan SmartDuncan Smart
- Parallel Extensions by Joel CoehoornJoel Coehoorn