Offcanvas

개발자

마이크로소프트, ‘C# 10’ 출시··· “더 보기 좋은 코드 지원”

2021.11.11 Paul Krill  |  InfoWorld
마이크로소프트에서 개발한 닷넷 플랫폼용 객체-지향, 타입-세이프 프로그래밍 언어의 최신 릴리즈 ‘C# 10’이 출시됐다. 이는 코드를 ‘더 보기 좋게’, 더 빠르게, 더 표현력 있게 만들기 위한 기능을 지원한다고 회사 측은 밝혔다. 

C# 업그레이드는 ‘닷넷 6 소프트웨어 개발 프레임워크’ 및 ‘비주얼 스튜디오 2022 IDE’의 일부이며, 이들은 지난 11월 8일 프로덕션 릴리즈로 공개됐다. 
 
ⓒGetty Images

C#의 새로운 기능 및 개선사항은 다음과 같다. 

• 마이크로소프트에 따르면 C# 10 컴파일러는 코드를 더 잘 이해하고, 가짜 오류를 적게 생성한다. 개발자는 널(null) 참조에 관한 가짜 오류 및 경고를 더 적게 볼 수 있을 것이라고 회사 측은 전했다. 

• C#의 using 지시문을 사용하면 네임스페이스로 작업하는 방법을 단순화할 수 있다. C# 10에서 global using implicit using은 각 파일의 맨 위에 지정해야 하는 using 수를 줄인다. 

implicit using이 닷넷 6 템플릿에서 활성화되며, 빌드 중인 프로젝트 유형에 공통 global using 지시문을 자동으로 추가한다. Implicit using을 활성화하려면 개발자가 .csproj 파일에서 ImplicitUsing 속성을 설정해야 한다. 

• 네임스페이스를 문장으로 포함시킬 수 있다. 그 뒤에 세미콜론이 올 수 있고, 중괄호 없이 사용할 수 있다. 

• 람다(Lambda) 유형 및 구문이 개선됐다. 이제 람다 표현식은 ‘내추럴’ 유형을 가질 수 있다. 이는 컴파일러가 람다 표현식 유형을 유추할 수 있다는 의미라고 마이크로소프트는 설명했다. 

• C# 10에서는 람다 표현식에 메소드 및 로컬 함수와 동일한 방식으로 속성을 넣을 수 있다. 

• 구조체와 클래스 간의 패리티를 향상시키는 등 구조체가 개선됐다. 이러한 새로운 기능에는 매개변수가 없는 생성자, 필드 이니셜라이저, 레코드 구조체, withcode 표현식 등이 포함된다. 

• 레코드 클래스가 개선됐다. ToString() 메소드에 sealed 제어자가 추가돼, 컴파일러가 파생된 레코드 형식에 ToString 메소드를 합성할 수 없다. 

with 표현식이 레코드 구조체 및 익명 유형을 포함한 모든 구조체에서 지원된다. 

• 성능과 표현력을 위해 보간된 문자열 구문이 개선됐다. 

• 속성 패턴이 확장됐다. 속성 패턴 내에서 패턴의 중첩 값에 더 쉽게 액세스할 수 있다. 

• 이제 인터페이스의 정적 멤버를 추상으로 선언할 수 있어, 개발자가 사용할 수 있는 연산자를 추상화하는 새로운 제네릭 매스 제약조건(generic math constraints)의 기반을 제공한다. 

ciokr@idg.co.kr 
 
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.