C# は Microsoft によって作成された高級プログラミング言語で、開発者に多用途性とパワーを提供します。何度も改良を重ね、より効率的で使いやすいものにするための改良と新機能を導入してきました。これらの変更により、開発者は最新のソフトウェア アプリケーションを簡単に構築できるようになりました。この記事では、C# 1.0 から最新バージョンの C# 10.0 まで、最も重要な進歩とそれがソフトウェア開発の世界に与える影響について説明します。これらの変更を理解することは、C# の可能性を最大限に活用したい開発者にとって不可欠です。
ここでは C# のバージョンについて説明します。 C# のバージョンは以下のとおりです:
このバージョンは Java に似ています。非同期機能と一部の機能が欠如しています。このリリースの主な機能は以下のとおりです
クラス: オブジェクトの作成に使用されるブループリントです。
コード:
// declaring public class public class Test { // variable public int a, b; // member function public void display() { WriteLine("Class in C#"); } }
構造体: Struct では、単一の変数の下にさまざまなデータ型を保存できます。構造体でユーザー定義のデータ型を使用できます。これを定義するには、struct キーワードを使用する必要があります。
コード:
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); } } }
インターフェース:
リテラル: 変数で使用される値です。これは定数値のようなものです。
コード:
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); } }
デリゲート: これはポインタのようなものです。他のメソッドを保持する参照型変数です。
このバージョンでは、いくつかの機能強化が行われました。このバージョンでは、式が false になるまで各ブロックを実行する各ループが追加されました。
このバージョンでは、以下の高度な機能が追加されました。
ジェネリック: ジェネリック プログラミングは、後で指定される型に関してアルゴリズムが記述され、パラメータとして指定された特定の型に対して必要に応じてインスタンス化される、コンピューター プログラミングのスタイルです。
匿名メソッド: これは空のメソッドです。これは、キーワード delegate を使用して定義されます。
このバージョンにより、C# は強力なプログラミング言語になりました。
このバージョンにはいくつかの興味深い機能が導入されました:
動的バインディング: これはメソッドのオーバーライドに似ています。ここで、コンパイラは呼び出すメソッドを決定しません。
コード:
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(); } }
ここでの主な機能はキーワードの動的でした。実行時にコンパイラをオーバーライドします。
このバージョンでは、非同期プログラミング用の 2 つの新しいモデルが追加されました。
非同期で待機
これらを使用すると、コンテキストに関する情報を簡単に取得できます。これは、長時間実行される操作に非常に役立ちます。この async では、キーワード await が有効になります。 await キーワードを使用すると、すべてが非同期になります。したがって、キーワードが待機するまで同期的に実行されます。
このバージョンには以下の機能が含まれています
このバージョンには以下の利点があります
出力変数: この変数は基本的に、メソッドが複数の値を返す必要がある場合に使用されます。キーワード out は引数に渡すために使用されます。
その他の重要な側面は次のとおりです
2019 年にリリースされた C# 8.0 では、コードの安全性を強化する重要な機能である null 許容参照型が導入されました。これにより、開発者はコードに注釈を付けて、変数が null 値を保持できるかどうかについての意図を表現できるようになり、コンパイル時に null 参照例外をキャッチするのに役立ちます。さらに、C# 8.0 では、非同期ストリームなどの機能強化が行われ、非同期アプリケーションやリアクティブ アプリケーションの開発が簡素化され、パターン マッチングが強化されました。これらの機能によりコードの信頼性、可読性、効率性が向上し、C# 8.0 は最新のソフトウェア開発における言語の進化における貴重なステップとなります。
2020 年にリリースされた C# 9.0 では、言語に大幅な機能強化が加えられました。その際立った機能はレコード タイプの導入であり、組み込みの値の等価性、不変性、パターン マッチングを提供することでデータ クラスの作成を簡素化しました。また、ソース ジェネレーターも導入され、コンパイル時の自動コード生成が可能になり、コードの生成と分析が強化されました。さらに、C# 9.0 では、新機能によりパターン マッチングが改善され、関数ポインターとトップレベル ステートメントのサポートが追加され、コードがより簡潔で読みやすくなりました。これらの変更により、開発者の生産性とコードの安全性が向上し、C# が最新の多用途プログラミング言語として確固たるものとなりました。
C# バージョン 10.0 は、2021 年 11 月にリリースされた C# プログラミング言語の最新バージョンです。これには、より効率的で使いやすくするためのいくつかの新機能と改善が含まれています。 C# 10.0 の注目すべき機能には次のものがあります。
C# 11 では、生の文字列リテラル、汎用数学サポート、汎用属性、UTF-8 文字列リテラル、文字列補間式の改行、リスト パターン、ファイルローカル型、必須メンバー、自動デフォルト構造体、 Span
そのため、すべてのバージョンには、開発者が複雑な問題を効率的に解決できるようにする C# の新機能が含まれています。
以上がC# のバージョンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。