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 문 또는 식은 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# 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 Compiler Platform SDK로 발전한 .NET Compiler Platform("Roslyn")의 기술 미리 보기가 포함되었습니다.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(Language Integrated Query).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:
    • 무명 메서드, 제네릭, nullable 형식, 반복기/yield, static 클래스, 대리자의 공변성(Covariance) 및 반공변성(Contravariance).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 pragma 및 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#.