본문 바로가기
개발/기본) 기본기

기본기)c#) 무시 항목

by 테샤르 2021. 4. 14.

무시 항목

 

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# 가이드 [링크]

 

무시 항목 - C# 가이드

할당되지 않은 무시 가능한 변수인 무시 항목에 대한 C#의 지원과 무시 항목을 사용할 수 있는 방법에 관해 설명합니다.

docs.microsoft.com

 

 

★☆

 

반응형

댓글