C# の今後の計画

Nov 24, 2016 pm 01:19 PM
c#

NDC London で、Mads Torgersen は C# 言語の将来の計画を提案しました。これらは単なる計画であり、どのバージョンがリリースされるかは保証されないことに注意してください。 Damien Guard はこれらの推奨事項を要約し、簡単に分析しています。ここではその一部を取り上げます。

読み取り専用プロパティ

読み取り専用自動プロパティを使用すると、開発者は 1 行のコードでプロパティとその背景フィールドを宣言できます。

public int X { get; } = x;
ログイン後にコピー

Static type using Statement

Visual Basic と Java の両方で、名前空間にモジュール (C# の静的クラス) をインポートできます。これにより、「Math」など、よく使用される静的関数の前にある繰り返しコードが削除されます。

メインコンストラクター

クラス名の後にパラメータを追加することで、開発者は明示的にコンストラクターを作成する必要がなくなりました。これにより、コンストラクター引数をプライベート フィールドにコピーするときに、長いコードが削除されます。

public class Point(int x, int y)  {     private int x, y; }
ログイン後にコピー

プロパティ式とメソッド式

プロパティ式を使用すると、単純な読み取り専用プロパティに元々必要だった定型コードの一部を削除できます。

public double Distance => Math.Sqrt((X * X) + (Y * Y));
ログイン後にコピー

メソッド式も同様で、もちろんパラメータを受け取ることができます。パラメータ化されたプロパティはまだ考慮されていないことに注意してください。今後長い間、これは VB の独自の機能でしかありません。

関数パラメータ

最近のほとんどの開発者は、params キーワードを使用しない限り、配列を使用しません。したがって、params も IEnumerable インターフェイスをサポートすることを誰かが提案しました。これを行う場合、他の言語 (Visual Basic など) もサポートする必要があります。 out キーワードを使用してローカル変数を宣言できることも提案されています。たとえば、

int.TryParse("123", out int x);
ログイン後にコピー

Null 伝播

乱雑なデータを扱う場合、開発者はプロパティを読み取ったりメソッドを呼び出したりする前に、一連の null 判定ロジックを記述する必要があることがよくあります。 ?. 構文はこのロジックを排除するのに役立ち、前の値が空でない場合にのみ次のメソッドが呼び出されます。

var bestValue = points?.FirstOrDefault()?.X;
ログイン後にコピー

この例では、points が空であるか、points.FirstOrDefault() が空を返した場合、.X は無視され、空が返されます。 ?? と組み合わせて使用​​して、オプションのデフォルト値を指定することもできます。

var bestValue = points?.FirstOrDefault()?.X ?? -1;
ログイン後にコピー

Objective-C や Smalltalk などの「メッセージ パッシング」言語には、すべてそのような構文が含まれています。 null 参照例外がスローされるべき場所で暗黙的に無視されるため、これは問題があると考えられます。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C# を使用した Active Directory C# を使用した Active Directory Sep 03, 2024 pm 03:33 PM

C# を使用した Active Directory のガイド。ここでは、Active Directory の概要と、C# での動作方法について、構文と例とともに説明します。

C# の乱数ジェネレーター C# の乱数ジェネレーター Sep 03, 2024 pm 03:34 PM

C# の乱数ジェネレーターのガイド。ここでは、乱数ジェネレーターの仕組み、擬似乱数の概念、安全な数値について説明します。

C# データ グリッド ビュー C# データ グリッド ビュー Sep 03, 2024 pm 03:32 PM

C# データ グリッド ビューのガイド。ここでは、SQL データベースまたは Excel ファイルからデータ グリッド ビューをロードおよびエクスポートする方法の例について説明します。

C# の階乗 C# の階乗 Sep 03, 2024 pm 03:34 PM

C# の Factorial のガイド。ここでは、C# での階乗の概要について、さまざまな例とコード実装とともに説明します。

マルチスレッドと非同期C#の違い マルチスレッドと非同期C#の違い Apr 03, 2025 pm 02:57 PM

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。

C# のパターン C# のパターン Sep 03, 2024 pm 03:33 PM

C# のパターンのガイド。ここでは、C# のパターンの概要と上位 3 種類について、その例とコード実装とともに説明します。

C# の素数 C# の素数 Sep 03, 2024 pm 03:35 PM

C# の素数ガイド。ここでは、C# における素数の導入と例を、コードの実装とともに説明します。

XMLの形式を変更する方法 XMLの形式を変更する方法 Apr 03, 2025 am 08:42 AM

XML形式を変更する方法はいくつかあります。Atepadなどのテキストエディターを使用して手動で編集する。 XmlBeautifierなどのオンラインまたはデスクトップXMLフォーマットツールを使用して自動的にフォーマットします。 XSLTなどのXML変換ツールを使用して変換ルールを定義します。または、Pythonなどのプログラミング言語を使用して解析および操作します。元のファイルを変更してバックアップするときは注意してください。

See all articles