Si vous commencez à explorer C# ou décidez d'élargir vos connaissances, vous devriez alors apprendre ces fonctionnalités utiles du langage. Cela vous aidera à simplifier votre code, à éviter les erreurs et à gagner beaucoup de temps.
1) async/await
L'utilisation de async/await-pattern permet de débloquer l'interface utilisateur/le thread actuel tout en effectuant des opérations de blocage. Le modèle async/await fonctionne en permettant au code de continuer à s'exécuter même si quelque chose bloque l'exécution (comme une requête Web).
2) Initialiseurs d'objet/tableau/collection
Créez facilement des classes, des tableaux et des collections en utilisant des initialiseurs d'objet, de tableau et de collection Exemple :
//Quelques classes de démonstration publicclassEmployee{ publicstringName { get; set;} publicDateTime StartDate { get; set;}} //Utilisez l'initialiseur pour créer un employé Employee emp = newEmployee {Name= "John Smith", StartDate=DateTime.Now()};
L'exemple ci-dessus n'est vraiment utile que dans les tests unitaires, mais doit être utilisé dans d'autres contextes. À éviter car les instances de classes doit être créé à l’aide de constructeurs.
3) Lambdas, prédicats, délégués et fermetures
Dans de nombreux cas (comme lors de l'utilisation de Linq), ces fonctionnalités sont réellement requises, assurez-vous de Apprenez quand et comment les utiliser.
4) ?? (opérateur de coalescence nul)
?? – l'opérateur renvoie le côté gauche tant qu'il n'est pas nul dans ce cas Return ; le côté droit :
// Peut être nul varsomeValue = service GetValue(); vardefaultValue = 23 // Si someValue est nul, le résultat sera 23 varresult = someValue. ?? defaultValue ;
?? – les opérateurs peuvent être chaînés :
stringanybody = parm1 ?? localDefault ?? 🎜>
Et il peut être utilisé pour convertir des types nullables en non nullables :
Vous pouvez mettre des expressions C# entre accolades, ce qui rend cette interpolation de chaîne très puissante.
L'opérateur conditionnel nul fonctionne comme suit :
Le nouveau nameof-expression peut ne pas sembler important, mais il a vraiment sa valeur . Lorsque vous utilisez des outils de refactorisation automatique comme ReSharper, vous devez parfois référencer les paramètres de méthode par leur nom :
Vous devrait l'utiliser comme ça...
publicclassUser{ publicGuidId{ get; } = NewGuid( // ...}
9) les opérateurs as et is
is l'opérateur est utilisé pour contrôler si une instance est d'un type spécifique , par exemple, si vous voulez voir s'il est possible de convertir :
if( PersonisAdult){ //faire des trucs}
Utilisez l'opérateur as pour essayer de convertir une instance en classe. S'il ne peut pas être converti, il renverra null :
SomeType y = x asSomeType; if(y != null){ //do stuff} 10) rendement mot-clé
Le mot clé rendement permet de fournir une interface IEnumerable avec des entrées. L'exemple suivant renverra chaque puissance de 2 de 2 à 8 (par exemple, 2,4,8,16,32,64,128,256) :
publicstaticIEnumerable Power( intnumber, intexponent){ intresult = 1; for( inti = 0; i < exposant; i ) { result = result * number; rendementreturnresult; }}
rendement très puissant, s'il est utilisé correctement. Il vous permet de générer paresseusement une collection d'objets, c'est-à-dire que le système n'a pas besoin d'énumérer la totalité de la collection - il le fait simplement à la demande.
Pour plus d'articles liés aux 10 fonctions en C# que vous devriez vraiment apprendre (et utiliser !), veuillez faire attention au site Web PHP chinois !