C#
C# define 전처리기 지시문 및 상수(Constants) 클래스
sheepone
2021. 6. 25. 10:08
반응형
#define VC2017 //기호를 정의
//#undef VC2017 //기호 정의를 취소
#define TEST
using System;
namespace ConsoleApp9
{
class Program
{
static void Main(string[] args)
{
#if (VC2017)
{
Console.WriteLine("Visual Studio 2017");
//output : Visual Studio 2017
}
#endif
#if (DEBUG)
{
Console.WriteLine("DEBUG MODE");
//output : DEBUG MODE
}
#else
{
Console.WriteLine("RELEASE MODE");
}
#endif
#if (!TEST)
{
Console.WriteLine("!TEST");
}
#elif (TEST)
{
Console.WriteLine("TEST");
//output : TEST
}
#else
{
Console.WriteLine("else");
}
#endif
{
Console.WriteLine("endif");
//output : endif
}
Console.ReadLine();
}
}
}
output
Visual Studio 2017
DEBUG MODE
TEST
endif
유의사항
맨 윗줄에 써야 적용
디버그 상수값 정의위치

Properties - 빌드 - 일반 - DEBUG 상수 정의
값선언이 필요한 경우는 상수(Constants) 클래스 사용
using System;
using System.Globalization;
namespace ConsoleApp9
{
class Program
{
static class define
{
public const string sProgramName = "define" ;
public const string sKorean = "ko-KR" ;
}
static void Main(string[] args)
{
Console.WriteLine("Program name : " + define.sProgramName);
//output : Program name : define
string sCurrentCulture = CultureInfo.CurrentCulture.Name;
if(define.sKorean == sCurrentCulture)
{
Console.WriteLine("CurrentCulture : Korean");
//output : CureentCulture : Korean
}
Console.ReadLine();
}
}
}
반응형