무시 항목
C# 7.0부터 C#에서는 애플리케이션 코드에서 의도적으로 사용되지 않는 자리 표시자 변수인 무시 항목을 지원합니다. 무시 항목은 할당되지 않은 변수에 해당하므로 값을 가지지 않는다고 한다.
'_' 의 형태로 선언되는 항목은 무시 항목으로 처리된다고 한다.
예시로 Task를 무시하고 비동기 작업에서 생성되는 모든 오류를 무시하려고 하는 의도로 처리가 된다.
private static async Task ExecuteAsyncMethods()
{
Console.WriteLine("About to launch a task...");
_ = Task.Run(() =>
{
var iterations = 0;
for (int ctr = 0; ctr < int.MaxValue; ctr++)
iterations++;
Console.WriteLine("Completed looping operation...");
throw new InvalidOperationException();
});
await Task.Delay(5000);
Console.WriteLine("Exiting after 5 second delay");
}
// The example displays output like the following:
// About to launch a task...
// Completed looping operation...
// Exiting after 5 second delay
'_' 은 유효한 식별자이기도 합니다. 지원되는 컨텍스트 외부에서 사용하면 _은 무시 항목이 아니라 유효한 변수로 처리됩니다. 범위 내 '_'변수 값을 실수로 수정하여 의도한 무시 항목의 값 할당. 예를 들어 다음과 같다.
private static void ShowValue(int _)
{
byte[] arr = { 0, 0, 1, 2 };
_ = BitConverter.ToInt32(arr, 0);
Console.WriteLine(_);
}
// The example displays the following output:
// 336
무시 항목을 사용하는 이유는 다음과 같다.
단일 무시 변수만 있으므로 해당 변수를 스토리지에 할당하지 못할 수도 있도 있지만. 무시 항목은 메모리 할당을 줄일 수 있습니다. 무시 항목은 코드의 의도를 명확하게 합니다. 또한 코드의 가독성 및 유지 관리를 향상한다고 한다.
Microsoft 무시 항목 c# 가이드 [링크]
★☆☆☆☆
반응형
'개발 > 기본) 기본기' 카테고리의 다른 글
기본기) 소프트웨어 관리 버전(Semantic Versioning) (0) | 2021.04.19 |
---|---|
기본기)c#) Async / Await 사용법 (0) | 2021.04.14 |
Tip) vi 명령어 정리 (0) | 2021.04.01 |
기본기) Seed Random 구현 방식(고정랜덤) (0) | 2021.03.08 |
기본기)c#) is 연산자, as 연산자 (0) | 2021.03.05 |
댓글