C# est un langage de programmation de haut niveau créé par Microsoft qui offre polyvalence et puissance aux développeurs. Il a connu plusieurs itérations, chacune apportant des améliorations et de nouvelles fonctionnalités pour le rendre plus efficace et plus convivial. Ces changements ont aidé les développeurs à créer facilement des applications logicielles modernes. Depuis ses débuts avec C# 1.0 jusqu'à la dernière version, C# 10.0, cet article vous guidera à travers les avancées les plus significatives et leur impact sur le monde du développement logiciel. Comprendre ces changements est essentiel pour les développeurs qui souhaitent profiter de tout le potentiel de C#.
Ici, nous discuterons des versions de C#. Vous trouverez ci-dessous les versions de C# :
Cette version est comme Java. Son manque de capacités asynchrones et de certaines fonctionnalités. Les principales fonctionnalités de cette version sont ci-dessous
Classes : C'est un plan qui est utilisé pour créer les objets.
Code :
// declaring public class public class Test { // variable public int a, b; // member function public void display() { WriteLine("Class in C#"); } }
Structure : Dans Struct, nous pouvons stocker différents types de données sous une seule variable. Nous pouvons utiliser le type de données défini par l'utilisateur dans les structures. Nous devons utiliser le mot-clé struct pour définir cela.
Code :
using System; namespace ConsoleApplication { // structure public struct Emp { // different data types public string Name; public int Age; public int Empno; } class Geeks { // Main Method static void Main(string[] args) { // Declare P1 of type Person Person P1; // P1's data P1.Name = "Ram"; P1.Age = 21; P1.Empno = 80; // Displaying the values Console.WriteLine("Data Stored in P1 is " + P1.Name + ", age is " + P1.Age + " and empno is " + P1.empno); } } }
Interfaces :
Litéraux : C'est une valeur utilisée par la variable. C'est comme une valeur constante.
Code :
class Test { // Main method public static void Main(String []args) { int a = 102; // octal-form literal int b = 0145 ; // Hexa-decimal form literal int c = 0xFace; Console.WriteLine(a); Console.WriteLine(b); Console.WriteLine(c); } }
Délégués : C'est comme un pointeur. C'est une variable de type référence qui contient les autres méthodes.
Dans cette version, quelques améliorations ont été apportées. Ils ont ajouté pour chaque boucle dans cette version qui exécutera chaque bloc jusqu'à ce qu'une expression devienne fausse.
Dans cette version, ils ont ajouté des fonctionnalités avancées ci-dessous.
Génériques : La programmation générique est un style de programmation informatique dans lequel les algorithmes sont écrits en termes de types à spécifier ultérieurement qui sont ensuite instanciés si nécessaire pour des types spécifiques fournis en tant que paramètres.
Méthode anonyme : Il s'agit d'une méthode vierge. Ceci est défini à l'aide du mot-clé délégué.
Cette version a fait de C# un formidable langage de programmation.
La version a introduit quelques fonctionnalités intéressantes :
Liaison dynamique : C'est comme une substitution de méthode. Ici, le compilateur ne décide pas de la méthode à appeler.
Code :
public class ClassA { public static class superclass { void print() { System.out.println("superclass."); } } public static class subclass extends superclass { @Override void print() { System.out.println("subclass."); } } public static void main(String[] args) { superclass X = new superclass(); superclass Y= new subclass(); X.print(); Y.print(); } }
Ici, la fonctionnalité majeure était la dynamique des mots clés. Il remplace le compilateur au moment de l'exécution.
Dans cette version, ils ont ajouté deux nouveaux modèles pour la programmation asynchrone.
asynchrone et attendre
Grâce à ceux-ci, nous récupérons facilement des informations sur le contexte. Ceci est très utile pour les opérations de longue durée. Dans cet async, le mot-clé wait est activé. Avec l’aide du mot-clé wait, tout devient asynchrone. Il s'exécute donc de manière synchrone jusqu'à ce que le mot-clé attende.
Cette version incluait les fonctionnalités ci-dessous
Cette version présente les avantages ci-dessous
Variables de sortie : Cette variable est essentiellement utilisée lorsque la méthode doit renvoyer plusieurs valeurs. Le mot-clé out est utilisé pour passer aux arguments.
D'autres aspects importants sont
C# 8.0, publié en 2019, a introduit les types de référence nullables, une fonctionnalité importante pour améliorer la sécurité du code. Il permet aux développeurs d'annoter leur code pour exprimer leurs intentions quant à savoir si une variable peut contenir une valeur nulle, aidant ainsi à détecter les exceptions de référence nulle au moment de la compilation. De plus, C# 8.0 a apporté des améliorations telles que les flux asynchrones, simplifiant le développement d'applications asynchrones et réactives, ainsi que des améliorations de la correspondance de modèles. Ensemble, ces fonctionnalités rendent le code plus fiable, lisible et efficace, faisant de C# 8.0 une étape précieuse dans l'évolution du langage pour le développement de logiciels modernes.
C# 9.0, sorti en 2020, a apporté des améliorations significatives au langage. Sa fonctionnalité remarquable était l'introduction de types d'enregistrement, simplifiant la création de classes de données en fournissant une égalité de valeur intégrée, une immuabilité et une correspondance de modèles. Il a également introduit des générateurs de sources, permettant la génération automatique de code au moment de la compilation, ce qui améliore la génération et l'analyse de code. De plus, C# 9.0 a amélioré la correspondance de modèles avec de nouvelles fonctionnalités et ajouté la prise en charge des pointeurs de fonction et des instructions de niveau supérieur, rendant le code plus concis et plus lisible. Ces changements ont amélioré la productivité des développeurs et la sécurité du code, consolidant ainsi C# en tant que langage de programmation moderne et polyvalent.
C# version 10.0 est la dernière version du langage de programmation C#, publiée en novembre 2021. Elle inclut plusieurs nouvelles fonctionnalités et améliorations pour le rendre plus efficace et plus facile à utiliser. Certaines fonctionnalités notables de C# 10.0 incluent :
C# 11 a introduit plusieurs nouvelles fonctionnalités, notamment les littéraux de chaîne bruts, la prise en charge mathématique générique, les attributs génériques, les littéraux de chaîne UTF-8, les nouvelles lignes dans les expressions d'interpolation de chaîne, les modèles de liste, les types locaux de fichiers, les membres requis, les structures automatiques par défaut, correspondance de motifs pour Span
Ainsi, chaque version inclut de nouvelles fonctionnalités en C# qui aident les développeurs à résoudre les problèmes complexes de manière efficace.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!