C#_宏定义

关键字简述

//仅可用在using前
#define
#undef

//仅可在using后
#elif

//无限制
#if
#else
#endif

注:与或非(&&   ||   !) 的使用同样无限制

宏定义的用途

宏定义常用于版本控制,例如在X环境下使用A代码,在Y环境下使用B代码

示例代码

#define VERSION_3
#if !VERSION_3
#define VERSION_1
#define VERSION_2
#else
#undef VERSION_1
#undef VERSION_2
#endif
using System.Threading.Channels;

namespace ConsoleApp_1
{
    internal class Program
    {
        static void Main(string[] args)
        {
#if VERSION_1 && VERSION_2
            Console.WriteLine("VERSION_1");
#elif VERSION_3
            Console.WriteLine("VERSION_2 VERSION_3");
#else
            Console.WriteLine("UNKNOW_VERSION");
#endif
        }
    }
}

运行效果