C# 预处理指令

 #define

复制代码
#define Demo
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
  
    class Program
    {
        static void Main(string[] args)
        {
#if Demo
            Console.WriteLine("Run Demo");
#else
            Console.WriteLine("No run Demo");
#endif
        }
    }
}
Output:
Run Demo
复制代码

#undef

复制代码
#define Demo
#undef Demo
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
  
    class Program
    {
        static void Main(string[] args)
        {
#if Demo
            Console.WriteLine("Run Demo");
#else
            Console.WriteLine("No run Demo");
#endif
        }
    }
}
Output:
No run Demo
复制代码

 条件编译

使用#define指令定义的标识符 

True 如果符号已经使用#define定义

False 其他

表达式 使用符号和操作符!、==、!=、&&、||构建的

True 如果为true

False 其他

行号指令

复制代码
#define Demo
#undef Demo
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
  
    class Program
    {
        static void Main(string[] args)
        {
#line 233 "huaQ.cs"
            Console.WriteLine("No run Demo")
        }
    }
}
复制代码

区域指令

复制代码
#define Demo
#undef Demo
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
  
    class Program
    {
        static void Main(string[] args)
        {
#region 这个要折叠
            Console.WriteLine("No run Demo");
#endregion
        }
    }
}
复制代码

 

posted @   樱花落舞  阅读(377)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2017-07-26 Technocup 2017 - Elimination Round 1 (Unofficially Open for Everyone, Rated for Div. 2) D
2017-07-26 Technocup 2017 - Elimination Round 1 (Unofficially Open for Everyone, Rated for Div. 2) C
2017-07-26 Technocup 2017 - Elimination Round 1 (Unofficially Open for Everyone, Rated for Div. 2) B
2017-07-26 Technocup 2017 - Elimination Round 1 (Unofficially Open for Everyone, Rated for Div. 2) A
2017-07-26 Codeforces Round #396 (Div. 2) E
2017-07-26 Codeforces Round #396 (Div. 2) D
2017-07-26 Codeforces Round #396 (Div. 2) C
点击右上角即可分享
微信分享提示