C# の新機能What's new in C#

このページでは、C# 言語の各メジャー リリースの新機能に関するロードマップを示しています。This page provides a roadmap of new features in each major release of the C# language. リンク先の記事では、各リリースで追加された主要な機能について詳しく説明します。The linked articles detail information on the major features added in each release. 一般リリースまたはパブリック プレビューでリリースされた新機能に関する情報を確認できます。You will find information on new features that have been released, either in a general release, or in a public preview. 今後のリリースに向けて検討される機能を含め、言語機能ステータスについての詳細は GitHub の dotnet/roslyn リポジトリで見つけられます。Detailed language feature status, including features considered for upcoming releases can be found on the dotnet/roslyn repository on GitHub.

重要

C# 言語のこれらの機能のいくつかは、標準ライブラリの型とメソッドに依存します。The C# language relies on types and methods in a standard library for some of the features. 一例として、例外処理があります。One example is exception processing. すべての throw ステートメントまたは式は、スローされたオブジェクトが Exception から派生していることを確認するために、チェックされます。Every throw statement or expression is checked to ensure the object being thrown is derived from Exception. 同様に、すべての catch は、キャッチされた型が Exception から派生していることを確認するために、チェックされます。Similarly, every catch is checked to ensure that the type being caught is derived from Exception. バージョンごとに新しい要件が追加されている場合があります。Each version may add new requirements. 古い環境で言語の最新機能を使用するには、特定のライブラリをインストールする必要がある場合があります。To use the latest language features in older environments, you may need to install specific libraries. これらの依存関係については、特定のバージョンごとに用意されたページに記載されています。These dependencies are documented in the page for each specific version. この依存関係の経緯と詳細については、言語とライブラリ間の関係に関する記事をご覧ください。 You can learn more about the relationships between language and library for background on this dependency.

ポイント リリースで最新の機能を使用するには、コンパイラ言語バージョンを構成し、バージョンを選択する必要があります。To use the latest features in a point release, you need to configure the compiler language version and select the version.

  • C# 7.3:C# 7.3:
  • C# 7.2:C# 7.2:
  • C# 7.1:C# 7.1:
  • C# 7.0:C# 7.0:
    • このページでは、C# 7.0 で追加された機能について説明します。This page describes the features added in C# 7.0. これらの機能は Visual Studio 2017 および .NET Core 1.0 以降で追加されました。These features were added in Visual Studio 2017 and .NET Core 1.0 and later
  • C# 6:C# 6:
    • このページでは、C# 6 で追加された機能について説明します。This page describes the features that were added in C# 6. これらの機能は、Windows 開発者は Visual Studio 2015 で利用でき、macOS および Linux で C# を使用する開発者は .NET Core 1.0 で利用できます。These features are available in Visual Studio 2015 for Windows developers, and on .NET Core 1.0 for developers exploring C# on macOS and Linux.
  • クロス プラットフォーム サポート:Cross Platform Support:
    • C# は .NET Core のサポートにより、複数のプラットフォームで実行できます。C#, through .NET Core support, runs on multiple platforms. macOS や、Linux をサポートする多くのディストリビューションのいずれかで C# を使用する場合は、.NET Core の詳細を確認してください。If you are interested in trying C# on macOS, or on one of the many supported Linux distributions, learn more about .NET Core.
  • .NET コンパイラ プラットフォーム SDK:.NET Compiler Platform SDK:
    • .NET コンパイラ プラットフォーム SDK を使用すると、C# コードのスタティック分析を実行するコードを記述できます。The .NET Compiler Platform SDK enables you to write code that performs static analysis on C# code. これらの API を使用すると、潜在的なエラーやバッド プラクティスを検索し、修正を提案して、さらにその修正プログラムを実装することができます。You can use these APIs to find potential errors, or bad practices, suggest fixes, and even implement those fixes.

以前のバージョンPrevious Versions

次の一覧は、C# 言語と Visual Studio .NET の以前のバージョンで導入された主な機能を示しています。The following lists key features that were introduced in previous versions of the C# language and Visual Studio .NET.

  • Visual Studio .NET 2013:Visual Studio .NET 2013:
    • このバージョンの Visual Studio には、バグの修正、パフォーマンスの向上、.NET コンパイラ プラットフォーム ("Roslyn") の Technology Preview (後の .NET コンパイラ プラットフォーム SDK) が含まれています。This version of Visual Studio included bug fixes, performance improvements, and technology previews of .NET Compiler Platform ("Roslyn") which became the .NET Compiler Platform SDK.
  • C# 5、Visual Studio .NET 2012:C# 5, Visual Studio .NET 2012:
  • C# 4、Visual Studio .NET 2010:C# 4, Visual Studio .NET 2010:
  • C# 3、Visual Studio .NET 2008:C# 3, Visual Studio .NET 2008:
    • オブジェクト初期化子とコレクション初期化子、ラムダ式、拡張メソッド、匿名型、自動プロパティ、ローカル var 型推論、および統合言語クエリ (LINQ)Object and collection initializers, lambda expressions, extension methods, anonymous types, automatic properties, local var type inference, and Language Integrated Query (LINQ).
  • C# 2、Visual Studio .NET 2005:C# 2, Visual Studio .NET 2005:
    • 匿名メソッド、ジェネリック、null 許容型、反復子/yield、static クラス、デリゲートの共変性および反変性。Anonymous methods, generics, nullable types, iterators/yield, static classes, and covariance and contra variance for delegates.
  • C# 1.1、Visual Studio .NET 2003:C# 1.1, Visual Studio .NET 2003:
    • #line プラグマと xml ドキュメント コメント。#line pragma and xml doc comments.
  • C# 1、Visual Studio .NET 2002:C# 1, Visual Studio .NET 2002:
    • C# の最初のリリース。The first release of C#.