>  기사  >  백엔드 개발  >  [C# 튜토리얼] C# 전처리기 지시문

[C# 튜토리얼] C# 전처리기 지시문

黄舟
黄舟원래의
2016-12-24 13:39:581058검색

C# 전처리기 지시문

전처리기 지시문은 실제 컴파일이 시작되기 전에 정보를 전처리하도록 컴파일러에 지시합니다.

모든 전처리기 지시문은 #으로 시작합니다. 그리고 한 줄에서는 전처리기 지시문 앞에 공백 문자만 나타날 수 있습니다. 전처리기 지시문은 명령문이 아니므로 세미콜론(;)으로 끝나지 않습니다.

C# 컴파일러에는 별도의 전처리기가 없지만 명령어는 별도의 전처리기가 있는 것처럼 처리됩니다. C#에서는 전처리기 지시문을 사용하여 조건부 컴파일에서 작동합니다. C 및 C++ 지시문과 달리 매크로를 생성하는 데 사용되지 않습니다. 전처리기 지시문은 해당 행의 유일한 지시문이어야 합니다.

C# 전처리기 지시문 목록

다음 표에는 C#에서 사용할 수 있는 전처리기 지시문이 나열되어 있습니다.

전처리기 지시문

설명

#define 기호가 되는 일련의 문자를 정의하는 데 사용됩니다.

#undef 기호 정의를 해제하는 데 사용됩니다.

#if 기호가 참인지 테스트하는 데 사용됩니다.

#else 복합 조건 명령어를 생성할 때 사용되며, #if와 함께 사용됩니다.

#elif 복합 조건부 명령어를 생성하는 데 사용됩니다.

#endif 조건부 명령어의 끝을 지정합니다.

#line 컴파일러의 줄 수와 (선택적으로) 오류 및 경고가 출력되는 파일 이름을 수정할 수 있습니다.

#error 코드의 지정된 위치에서 오류를 생성할 수 있습니다.

#warning 코드의 지정된 위치에서 1단계 경고를 생성할 수 있습니다.

#region Visual Studio Code Editor의 개요 기능을 사용할 때 확장 가능하거나 축소된 코드 블록을 지정할 수 있습니다.

#endregion #region 블록의 끝을 표시합니다.

#define 전처리기

#define 전처리기 지시문은 기호 상수를 생성합니다.

#define을 사용하면 #if 지시문에 전달된 표현식으로 기호를 사용하여 표현식이 true를 반환하도록 기호를 정의할 수 있습니다. 구문은 다음과 같습니다.

#define symbol

다음 프로그램은 이를 보여줍니다.

#define PI 
using System;
namespace PreprocessorDAppl
{
   class Program
   {
      static void Main(string[] args)
      {
         #if (PI)
            Console.WriteLine("PI is defined");
         #else
            Console.WriteLine("PI is not defined");
         #endif
         Console.ReadKey();
      }
   }
}

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.

PI is defined

조건부 지시문

#if 지시문을 사용하여 조건부 지시문을 만들 수 있습니다. 조건부 명령어는 기호가 참인지 테스트하는 데 사용됩니다. true인 경우 컴파일러는 #if와 다음 명령어 사이의 코드를 실행합니다.

조건부 명령의 구문:

#if symbol [operator symbol]...

여기서 기호는 테스트할 기호의 이름입니다. true 및 false를 사용하거나 기호 앞에 부정 연산자를 배치할 수도 있습니다.

연산자 기호는 기호를 평가하는 데 사용되는 연산자입니다. can 연산자는 다음 연산자 중 하나일 수 있습니다.

==(동등)

!=(부등)

&&(and)

| | (또는)

괄호를 사용하여 기호와 연산자를 그룹화할 수도 있습니다. 조건부 지시문은 디버그 빌드에서 코드를 컴파일하거나 지정된 구성을 컴파일할 때 사용됩니다. #if 지시문으로 시작하는 조건부 지시문은 #endif 지시문으로 명시적으로 종료되어야 합니다.

다음 프로그램은 조건부 지시문의 사용을 보여줍니다.

#define DEBUG
#define VC_V10
using System;
public class TestClass
{
   public static void Main()
   {

      #if (DEBUG && !VC_V10)
         Console.WriteLine("DEBUG is defined");
      #elif (!DEBUG && VC_V10)
         Console.WriteLine("VC_V10 is defined");
      #elif (DEBUG && VC_V10)
         Console.WriteLine("DEBUG and VC_V10 are defined");
      #else
         Console.WriteLine("DEBUG and VC_V10 are not defined");
      #endif
      Console.ReadKey();
   }
}

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.

DEBUG and VC_V10 are defined


위 내용은 [c# 튜토리얼] C# 전처리기 명령어 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.