Heim  >  Artikel  >  Backend-Entwicklung  >  C#-Versionen

C#-Versionen

PHPz
PHPzOriginal
2024-09-03 15:02:35522Durchsuche

C# ist eine von Microsoft entwickelte High-Level-Programmiersprache, die Entwicklern Vielseitigkeit und Leistungsfähigkeit bietet. Es wurde mehreren Iterationen unterzogen, die jeweils Verbesserungen und neue Funktionen mit sich brachten, um es effizienter und benutzerfreundlicher zu machen. Diese Änderungen haben Entwicklern dabei geholfen, problemlos moderne Softwareanwendungen zu erstellen. Von den Anfängen mit C# 1.0 bis zur neuesten Version, C# 10.0, führt Sie dieser Artikel durch die wichtigsten Fortschritte und ihre Auswirkungen auf die Welt der Softwareentwicklung. Das Verständnis dieser Änderungen ist für Entwickler, die das volle Potenzial von C# nutzen möchten, von entscheidender Bedeutung.

Versionen von C#

Hier besprechen wir die Versionen von C#. Unten sind die Versionen von C#:

aufgeführt

1. C#-Version 1.0

Diese Version ist wie Java. Es mangelt an asynchronen Fähigkeiten und einigen Funktionalitäten. Die Hauptfunktionen dieser Version sind unten aufgeführt

Klassen: Es handelt sich um einen Bauplan, der zum Erstellen der Objekte verwendet wird.

  • Es kann nur eine öffentliche Klasse pro Datei geben.
  • Kommentare können am Anfang oder Ende jeder Zeile erscheinen.
  • Wenn eine Datei eine öffentliche Klasse enthält, muss der Name der Datei mit dem Namen der öffentlichen Klasse übereinstimmen.
  • Falls vorhanden, muss die Paketanweisung in der ersten Zeile stehen.
  • Importanweisungen müssen zwischen der Paketanweisung (falls vorhanden) und der Klassendeklaration stehen.
  • Wenn keine Paket- oder Importanweisungen vorhanden sind, muss die Klassendeklaration die erste Zeile in der Quellcodedatei sein.
  • Import- und Paketanweisungen gelten für alle Klassen innerhalb einer Quellcodedatei.
  • Eine Datei ohne öffentliche Klassen kann einen Namen haben, der mit keinem der Klassennamen in der Datei übereinstimmen muss.

Code:

// declaring public class
public class Test
{
// variable
public int a, b;
// member function
public void display()
{
WriteLine("Class in C#");
}
}

Struktur: In Struct können wir verschiedene Datentypen unter einer einzigen Variablen speichern. Wir können benutzerdefinierte Datentypen in Strukturen verwenden. Um dies zu definieren, müssen wir das Schlüsselwort struct verwenden.

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);
}
}
}

Schnittstellen:

  • Die Schnittstelle wird als Vertrag für die Klasse verwendet.
  • Alle Schnittstellenmethoden sind implizit öffentlich und abstrakt.
  • Alle Schnittstellenvariablen sind öffentliche statische Endvariablen.
  • Statische Methoden nicht zulässig.
  • Die Schnittstelle kann mehrere Schnittstellen erweitern.
  • Klasse kann mehrere Schnittstellen implementieren.
  • Klassenimplementierende Schnittstelle sollte alle Methoden der Schnittstelle definieren oder sie sollte abstrakt deklariert werden.

Literale: Es ist ein Wert, der von der Variablen verwendet wird. Das ist wie ein konstanter Wert.

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);
}
}

Delegierte: Das ist wie ein Zeiger. Es handelt sich um eine Variable vom Referenztyp, die die anderen Methoden enthält.

2. C# Version 1.2

In dieser Version wurden einige Verbesserungen vorgenommen. Sie haben für jede Schleife in dieser Version hinzugefügt, die jeden Block ausführt, bis ein Ausdruck falsch wird.

3. C# Version 2.0

In dieser Version wurden die folgenden erweiterten Funktionen hinzugefügt.

Generika: Generische Programmierung ist ein Stil der Computerprogrammierung, bei dem Algorithmen in Form von später zu spezifizierenden Typen geschrieben werden, die dann bei Bedarf für bestimmte als Parameter bereitgestellte Typen instanziiert werden.

Anonyme Methode: Dies ist eine leere Methode. Dies wird mit dem Schlüsselwort Delegate definiert.

  • Nullable-Typ: Vor dieser Version konnten wir eine Variable nicht als Null definieren. Diese Version überwindet dieses Problem.
  • Iteratoren
  • Kovarianz und Kontravarianz
  • Getrennte Zugänglichkeit für Getter/Setter: Wir können einen Getter-Setter zum Abrufen und Festlegen der Werte verwenden.

4. C#-Version 3.0

Diese Version hat C# zu einer beeindruckenden Programmiersprache gemacht.

  • Objekt- und Sammlungsinitialisierer: Mit ihrer Hilfe können wir auf jedes Feld zugreifen, ohne den Konstruktor aufzurufen.
  • Partielle Methode: Wie der Name schon sagt, werden Signatur und Implementierungen separat definiert.
  • Var: Wir können jede Variable definieren, indem wir das Schlüsselwort var.
  • verwenden

5. C#-Version 4.0

Die Version führte einige interessante Funktionen ein:

Dynamische Bindung: Dies ist wie das Überschreiben einer Methode. Hier entscheidet der Compiler nicht, welche Methode aufgerufen werden soll.

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();
}
}
  • Benannte/optionale Argumente
  • Generische Kovariante und Kontravariante
  • Eingebettete Interop-Typen

Hier war die Keyword-Dynamik das Hauptmerkmal. Es überschreibt den Compiler zur Laufzeit.

6. C#-Version 5.0

In dieser Version wurden zwei neue Modelle für die asynchrone Programmierung hinzugefügt.

asynchron und warten

Damit können wir leicht Informationen über den Kontext abrufen. Dies ist bei lang andauernden Vorgängen sehr hilfreich. In diesem Fall aktiviert Async das Schlüsselwort „await“. Mit Hilfe des Schlüsselworts „await“ werden alle Dinge asynchron. Es läuft also synchron, bis das Schlüsselwort wartet.

7. C#-Version 6.0

Diese Version enthält die folgenden Funktionen

  • Statische Importe
  • Mitglieder mit Ausdruckskörper
  • Null-Propagator
  • Warten Sie in den Catch/Finally-Blöcken
  • Standardwerte für Nur-Getter-Eigenschaften
  • Ausnahmefilter
  • Auto-Eigenschaftsinitialisierer
  • String-Interpolation
  • Name des Betreibers
  • Indexinitialisierer

8. C#-Version 7.0

Diese Version hat die folgenden Vorteile

Out-Variablen: Diese Variable wird grundsätzlich verwendet, wenn die Methode mehrere Werte zurückgeben muss. Das Schlüsselwort out wird zur Übergabe an die Argumente verwendet.

Weitere wichtige Aspekte sind

  • Tupel und Dekonstruktion.
  • Referenzen für Einheimische und Retouren.
  • Verwerfungen: Dies sind schreibgeschützte Variablen. Im Grunde wird dies verwendet, um lokale Variablen zu ignorieren.
  • Binäre Literale und Zifferntrennzeichen.
  • Ausdrücke werfen
  • Mustervergleich: Wir können dies für jeden Datentyp verwenden.
  • Lokale Funktionen: Mit Hilfe dieser Funktion können wir die Methode im Körper deklarieren, die bereits in der Methode definiert ist.
  • Erweiterte Mitglieder mit Ausdruckskörper.

9. C#-Version 8.0

C# 8.0, veröffentlicht im Jahr 2019, führte Nullable-Referenztypen ein, eine wichtige Funktion zur Verbesserung der Codesicherheit. Es ermöglicht Entwicklern, ihren Code zu kommentieren, um ihre Absichten darüber zum Ausdruck zu bringen, ob eine Variable einen Nullwert enthalten kann, und hilft so, Nullreferenzausnahmen zur Kompilierungszeit abzufangen. Darüber hinaus brachte C# 8.0 Verbesserungen wie asynchrone Streams, eine vereinfachte Entwicklung asynchroner und reaktiver Anwendungen sowie Verbesserungen beim Mustervergleich. Diese Funktionen machen den Code insgesamt zuverlässiger, lesbarer und effizienter und machen C# 8.0 zu einem wertvollen Schritt in der Weiterentwicklung der Sprache für die moderne Softwareentwicklung.

10. C#-Version 9.0

C# 9.0, veröffentlicht im Jahr 2020, brachte erhebliche Verbesserungen der Sprache. Sein herausragendes Merkmal war die Einführung von Datensatztypen, die die Erstellung von Datenklassen durch integrierte Wertegleichheit, Unveränderlichkeit und Mustervergleich vereinfachten. Außerdem wurden Quellgeneratoren eingeführt, die eine automatische Codegenerierung zur Kompilierungszeit ermöglichen, was die Codegenerierung und -analyse verbessert. Darüber hinaus verbesserte C# 9.0 den Mustervergleich mit neuen Funktionen und fügte Unterstützung für Funktionszeiger und Anweisungen der obersten Ebene hinzu, wodurch der Code präziser und lesbarer wurde. Diese Änderungen steigerten die Entwicklerproduktivität und Codesicherheit und festigten C# als moderne, vielseitige Programmiersprache.

11. C#-Version 10.0

C# Version 10.0 ist die neueste Version der C#-Programmiersprache, veröffentlicht im November 2021. Sie enthält mehrere neue Funktionen und Verbesserungen, um sie effizienter und benutzerfreundlicher zu machen. Zu den bemerkenswerten Funktionen von C# 10.0 gehören:

  • Globale Verwendungen: Mit dieser Funktion können Entwickler globale Anweisungen für das gesamte Programm definieren.
  • Dateibezogene Namespaces: Mit dieser Funktion können Entwickler Namespaces auf Dateiebene definieren, was die Organisation von Code erleichtert und Namenskonflikte vermeidet.
  • Verbesserte Lambda-Unterstützung: C# 10.0 führt verbesserte Lambda-Ausdrücke ein, die es Entwicklern ermöglichen, kürzeren, prägnanteren Code zu schreiben.
  • Interpolierte Zeichenfolgen als Formatzeichenfolgen: Mit dieser Funktion können Entwickler interpolierte Zeichenfolgen als Formatzeichenfolgen verwenden, wodurch der Prozess der Formatierung von Zeichenfolgen vereinfacht wird.
  • Verbesserter Mustervergleich: C# 10.0 enthält Verbesserungen beim Mustervergleich, die ihn leistungsfähiger und flexibler machen.
  • Neue Funktionen in der .NET-Laufzeit: C# 10.0 enthält auch neue Funktionen in der .NET-Laufzeit, wie z. B. Unterstützung für ARM64 und Leistungsverbesserungen für die JIT-Kompilierung.

12. C#-Version 11.0

C# 11 führte mehrere neue Funktionen ein, darunter rohe String-Literale, generische Mathematikunterstützung, generische Attribute, UTF-8-String-Literale, Zeilenumbrüche in String-Interpolationsausdrücken, Listenmuster, dateilokale Typen, erforderliche Mitglieder, automatisch standardmäßige Strukturen, Mustervergleich für Span auf einer konstanten Zeichenfolge, erweiterter Name des Gültigkeitsbereichs, numerischer IntPtr, Ref-Felder, Scoped Ref, verbesserte Konvertierung von Methodengruppen in Delegate und die siebte Warnwelle. Diese Ergänzungen zielten darauf ab, die Vielseitigkeit, Leistung und Entwicklererfahrung der Sprache zu verbessern und verbesserte Tools und Funktionen für die Softwareentwicklung bereitzustellen.

Deshalb hat jede Version neue Funktionen in C# aufgenommen, die den Entwicklern helfen, die komplexen Probleme auf effiziente Weise zu lösen.

Das obige ist der detaillierte Inhalt vonC#-Versionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn