C#
최신 C# 기능
C# 11
C# 11 새기능
C# 11: Raw String Literal
C# 11: 문자열 내삽 복수라인
C# 11: u8 접미어
C# 11: Generic Math 지원
C# 11: Generic Attribute
C# 11: 리스트 패턴
C# 11: 파일 로컬 타입
C# 11: required modifier
C# 11: Auto-default struct
C# 11: ReadOnlySpan 패턴 매칭
C# 11: 확장된 nameof 범위
C# 11: nint, nuint
C# 11: ref 필드
C# 11: 소문자 타입명 경고
C# 11: 향상된 method group 변환
C# 10
VS 2022 설치
C# 10 global using
C# 10 File-scoped Namespace
C# 10 향상된 문자열 내삽
C# 10 향상된 람다식 유추
C# 10 struct 기능 향상
C# 10 record struct
C# 10 확장된 속성패턴
C# 10 향상된 명료한 할당
C# 10 Destructor 기능 개선
C# 9.0
C# 9 레코드 타입
C# 9 init accessor
C# 9 최상위 프로그램
C# 9 향상된 패턴 매칭
C# 9 향상된 Target Typing
C# 9 공변 리턴 타입
C# 9 Native Int 타입
C# 8.0
C# 8 디폴트 인터페이스 멤버
C# 8 패턴 매칭
C# 8 Nullable Reference Type
C# 8 인덱싱과 슬라이싱
C# 8 비동기 스트림
C# 8 using 선언
C# 8 널 병합 할당자
C# 8 구조체 읽기 전용 멤버
C# 8 기타 기능들
C# 7.0
C# 7.0 새기능
C# 7.0 패턴 매칭
C# 7.0 튜플
C# 7.0 로컬 함수
C# 7.0 out 파라미터
C# 7.0 리터럴 표현
C# 7.0 Deconstructor
C# 7.0 ref return
C# 7.0 async 리턴타입
C# 7.0 Expression-bodied
C# 7.0 throw expression
C# 6.0
C# 6.0 새기능
C# 6.0 널 조건 연산자
C# 6.0 문자열 내삽
C# 6.0 Dictionary초기자
C# 6.0 nameof 연산자
C# 6.0 using static문
C# 6.0 catch블럭 await
C# 6.0 Exception 필터
C# 6.0 자동 속성 초기자
C# 6.0 읽기전용 자동 속성
C# 6.0 Expression-bodied

C#으로 이해하는 자료구조
C# 프로그래밍 기초 실습 전자책
C# 10 : global using

C# using 문은 using System.Text; 등과 같이 참조하고자 하는 모듈의 네임스페이스를 C# 코드 파일 상단에 지정하는데 사용된다. 그런데, 자주 사용되는 네임스페이스들을 C# 코드 파일마다 매번 지정하는 것보다 C# 프로젝트에서 한번 정의하여 공히 사용할 수 있으면 편리할 수 있다. 이를 위해 C# 10에서 global using 이라는 새로운 지시어가 도입되었다. 통상 Program.cs 파일이나 별도의 파일(예: GlobalUsing.cs)에 이들 global using을 정의해 두고, 전체 C# 프로젝트에 자주 사용하는 모듈들을 정의해 두면 편리할 것이다. 물론 네임스페이스가 충돌하는 경우 등과 같이 global using 사용을 피해야 하는 경우도 있을 것이다.

참고로, 만약 global using문과 일반 using 문이 혼합되어 있는 경우에는, 모든 global using문이 일반 using 문 앞에 선언되어야 한다.


예제

// GlobalUsing.cs 파일
global using System;
global using System.Text;
global using System.IO;



C# 10 : global using static

using static은 타입(type)을 import하여 해당 타입 안에 있는 멤버들이나 (그 타입 안의) 내부 타입(nested type)들을 사용할 수 있는 기능을 제공한다. C# 10의 global using static은 기존의 using static을 프로젝트 전역(global)에서 사용할 수 있도록 정의하는데 사용된다.

예제

// GlobalUsing.cs 파일
global using static System.Console;

// Progra.cs 파일
// System.Console 클래스의 WriteLine() 메서드를 직접 사용
WriteLine(Env.CurrentDirectory);




C# 10 : global using alias

기존의 using문에서는 alias를 사용할 수 있었는데, 예를 들어, using Env = System.Environment; 와 같이 System.Environment에 대해 Env라는 Alias를 설정할 수 있었다. 이러한 using alias는 해당 .cs 파일 안에서만 사용할 수 있었는데, 이를 전체 C# 프로젝트에서 사용할 수 있도록 하기 위해 아래 예제와 같이 global using을 사용하여 alias를 정의할 수 있다.

예제

// GlobalUsing.cs 파일
global using Env = System.Environment;
global using Xls = Microsoft.Office.Interop.Excel;

// Progra.cs 파일
string? arch = Env.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE");
Console.WriteLine(arch);




본 웹사이트는 광고를 포함하고 있습니다. 광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.