본문 바로가기

워크/C# 6,0

C# 6.0의 주요 특징

오늘은 C#의 특정 버전, 바로 C# 6.0의 주요 특징과 기능에 대해 알아보려고 합니다. C# 6.0은 .NET 개발자들에게 더욱 간결하고 효율적인 코드를 작성하도록 도와주는 여러 가지 신기능을 제공합니다.

 

Auto-Property Initializers (자동 속성 초기화)
이전에는 속성 초기화를 위해서 생성자를 이용해야 했습니다. 그러나 C# 6.0에서는 자동 속성을 선언하면서 초기값을 지정할 수 있게 되었습니다.

public class Sample
{
    public string Name { get; set; } = "ChatGPT";
}

Nameof Expressions (nameof 연산자)
nameof 연산자를 사용하면 변수, 속성, 메서드 등의 이름을 문자열로 가져올 수 있습니다. 이는 리팩토링에서 특히 유용합니다.

Console.WriteLine(nameof(Sample)); // "Sample"

Null-conditional Operators (null 조건 연산자)
?. 연산자는 객체가 null이 아닐 때만 멤버에 접근하게 해줍니다. 이를 통해 코드의 안정성을 높이고 NullReferenceException을 피할 수 있습니다.

var length = sample?.Name?.Length;

String Interpolation (문자열 보간)
문자열 포맷을 더 간결하게 작성할 수 있습니다. $ 문자를 이용해서 문자열 내부에 변수나 표현식을 직접 삽입할 수 있습니다.

var message = $"Hello, {sample.Name}!";

Exception Filters (예외 필터)
catch 절에서 조건을 지정하여 특정 조건에서만 예외를 처리하게 할 수 있습니다.

try
{
    // some code
}
catch (Exception ex) when (ex.Message.Contains("ChatGPT"))
{
    // handle specific exception
}

Expression-bodied function members (식 본문 함수 멤버)
메서드나 속성의 본문을 람다 표현식처럼 간단하게 작성할 수 있습니다.

public override string ToString() => $"Hello, {Name}!";

Static Using Statements (정적 using 문)
using 문을 이용하여 정적 클래스의 정적 메서드나 속성에 쉽게 접근할 수 있습니다.

using static System.Console;

이렇게 사용하면 Console.WriteLine() 대신 WriteLine()만으로도 메서드를 호출할 수 있게 됩니다.

이 외에도 C# 6.0에는 여러 가지 개선 사항과 변경 사항이 있습니다. 그러나 위의 기능들은 C# 6.0의 가장 대표적이고 많이 사용되는 특징 중 일부입니다. 이 기능들을 활용하여 개발 과정을 더욱 효율적으로 만들어보세요!