산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C# - 전처리기 지시문

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

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

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

C#의 전처리기 지시문

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

시니어 번호 전처리기 지침 및 설명
1

#정의

기호라고 하는 일련의 문자를 정의합니다.

2

#undef

기호 정의를 취소할 수 있습니다.

3

#만약

이를 통해 기호를 테스트하여 참으로 평가되는지 확인할 수 있습니다.

4

#else

#if와 함께 복합 조건부 지시문을 생성할 수 있습니다.

5

#엘리프

복합 조건부 지시문을 생성할 수 있습니다.

6

#endif

조건부 지시문의 끝을 지정합니다.

7

#줄

이를 통해 컴파일러의 줄 번호와 (선택 사항) 오류 및 경고에 대한 파일 이름 출력을 수정할 수 있습니다.

8

#오류

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

9

#경고

코드의 특정 위치에서 레벨 1 경고를 생성할 수 있습니다.

10

#지역

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

11

#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로 평가되는지 확인하기 위해 기호를 테스트하는 데 유용합니다. true로 평가되면 컴파일러는 #if와 다음 지시문 사이의 모든 코드를 평가합니다.

조건부 지시문의 구문은 -

입니다.
#if symbol [operator symbol]...

어디에, 기호 테스트하려는 기호의 이름입니다. true 및 false를 사용하거나 기호 앞에 부정 연산자를 추가할 수도 있습니다.

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

괄호를 사용하여 기호와 연산자를 그룹화할 수도 있습니다. 조건부 지시문은 디버그 빌드용 코드를 컴파일하거나 특정 구성을 위해 컴파일할 때 사용됩니다. #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 언어

  1. C# Hello World - 첫 번째 C# 프로그램
  2. C# 키워드 및 식별자
  3. C# 변수 및 (기본) 데이터 형식
  4. C# 연산자
  5. C# 비트 및 비트 시프트 연산자
  6. C# 기본 입력 및 출력
  7. C# 식, 문 및 블록(예제 포함)
  8. C# 주석
  9. C# switch 문
  10. C# 삼항(? :) 연산자