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)를 참고해주세요!