Cela m'est venu à l'esprit après avoir appris ce qui suit de la part de cette question :
where T : struct
Nous, développeurs C#, connaissons tous les bases de C#. Je veux dire les déclarations, les conditionnels, les boucles, les opérateurs, etc.
Certains d'entre nous ont même maîtrisé des trucs comme Génériques , types anonymes , lambdas , LINQ , ...
Mais quelles sont les fonctionnalités ou les astuces les plus cachées de C# que même les fans, les accros et les experts de C# connaissent à peine ?
Voici les caractéristiques révélées jusqu'à présent :
Mots clés
-
yield
par Michael Stum -
var
par Michael Stum -
using()
déclaration de kokos -
readonly
par kokos -
as
par Mike Stone -
as
/is
par Ed Swangren -
as
/is
(amélioré) par Rocketpants -
default
par deathofrats -
global::
par pzycoman -
using()
blocs par AlexCuse -
volatile
par Jakub Šturc -
extern alias
par Jakub Šturc
Attributs
-
DefaultValueAttribute
par Michael Stum -
ObsoleteAttribute
par DannySmurf -
DebuggerDisplayAttribute
par Stu -
DebuggerBrowsable
etDebuggerStepThrough
par bdukes -
ThreadStaticAttribute
par marxidad -
FlagsAttribute
par Martin Clarke -
ConditionalAttribute
par AndrewBurns
Syntaxe
-
??
(coalesce nulls) opérateur par kokos - Nombre de drapeaux par Nick Berardi
-
where T:new
par Lars Mæhlum - Génériques implicites par Keith
- Lambdas à un paramètre par Keith
- Propriétés automobiles par Keith
- Les alias de l'espace de nommage par Keith
- Les chaînes littérales verbatim avec @ par Patrick
-
enum
valeurs par lfoust - @variablenames par marxidad
-
event
opérateurs par marxidad - Format de la chaîne de caractères entre crochets par Portman
- Modificateurs d'accessibilité des accesseurs de propriétés par xanadont
- Opérateur conditionnel (ternaire) (
?:
) par JasonS -
checked
etunchecked
opérateurs par Binoj Antony -
implicit and explicit
opérateurs par Flory
Caractéristiques de la langue
- Types nuls par Brad Barker
- Types anonymes par Keith
-
__makeref __reftype __refvalue
par Judah Himango - Initialisateurs d'objets par lomaxx
- Formatage des chaînes de caractères par David dans le Dakota
- Méthodes d'extension par marxidad
-
partial
méthodes par Jon Erickson - Les directives du préprocesseur par John Asbeck
-
DEBUG
par la directive pré-processeur Robert Durgin - Surcharge d'opérateurs par SefBkn
- Type d'inférence par chakrit
- Opérateurs booléens passer au niveau supérieur par Rob Gough
- Passer une variable de type valeur comme interface sans la mettre en boîte par Roman Boiko
- Déterminer de façon programmatique le type de variable déclarée par Roman Boiko
- Constructeurs statiques par Chris
- Cartographie ORM simplifiée / condensée à l'aide de LINQ by acide rostéronique
-
__arglist
par Zac Bowling
Fonctionnalités de Visual Studio
- Sélectionnez un bloc de texte dans l'éditeur en Himadri
- Snippets by DannySmurf
Cadre de travail
-
TransactionScope
par KiwiBastard -
DependantTransaction
par KiwiBastard -
Nullable<T>
par IainMH -
Mutex
par Diago -
System.IO.Path
par ageektrapped -
WeakReference
par Juan Manuel
Méthodes et propriétés
-
String.IsNullOrEmpty()
méthode par KiwiBastard -
List.ForEach()
méthode par KiwiBastard -
BeginInvoke()
,EndInvoke()
méthodes par Will Dean -
Nullable<T>.HasValue
etNullable<T>.Value
propriétés par Rismo -
GetValueOrDefault
méthode par John Sheehan
Conseils et astuces
- Méthode agréable pour les gestionnaires d'événements par Andreas H.R. Nilsson
- Comparaisons en majuscules par John
- Accéder aux types anonymes sans réflexion par dp
- Un moyen rapide d'instancier paresseusement les propriétés de la collection en Will
- Fonctions inline anonymes de type JavaScript par acide rostéronique
Autre
- netmodules par kokos
- LINQBridge par Duncan Smart
- Extensions parallèles par Joel Coehoorn