C#中宏定义#define、预处理#if #else #endif的使用

C#中预处理的使用:
预处理指令并不会被编译为执行代码中的指令,但使用预处理指令可以选择编译程序中的哪部分代码。一般在调试代码时或在发布不同功能等级的软件版本中使用。
需要特别注意的是,宏定义必须在C#的.cs源文件最开头的位置定义,在其它位置定义会报错。
预处理指令

#define BEBUG	//宏定义必须定义在源文件的最开头位置
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 预处理的使用
{class Program{static void Main(string[] args){
#if DEBUGConsole.WriteLine("调试模式!");
#elseConsole.WriteLine("工作模式!");
#endifConsole.ReadLine();}}
}

在程序中可以通过是否定义宏开关选择编译运行不同的程序分支。

常用的预处理指令有以下几种:

  1. #define 和 #undef
  2. #if、#elif、#else 和#endif
  3. #warning 和 #error
  4. #region 和#endregion
  5. #line
  6. #pragma

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 串口接收1次数据会进入2次串口接收事件serialPort1_DataReceived,第2次进入时串口缓冲区为空

在C#中使用串口接收数据时发现,在完整的接收完一次数据后,还会再次进入串口接收事件。 在网上搜索资料发现其他开发者也有遇到该问题: [1] c#串口事件接受一次数据莫名其妙会触发两次 原文链接:https://www.52pojie.cn/threa…

C#控件跨线程内容更新

在使用C#开发winform应用程序时,经常会碰到对控件跨线程访问造成的异常。在winform中UI线程和工作线程是分开的,但在实际使用中经常会需要在工作线程更新UI线程中创建的控件。 方法1:禁用跨线程访问控件检测 .NET默认开启了禁止跨线程控件访…

document.addeventlistener方法不执行_JUnit 5 测试方法的执行优先级

前言使用单元测试有时对方法的执行顺序有要求,而默认情况下测试方法的执行并非按照编写顺序,这就导致测试用例因执行顺序而导致的不通过。这里我使用的JUnit版本是5.6.2,下面讲述如何自定义测试方法的执行优先级。TestMethodOrder这个注解标注…

2异常处理_Java处理异常2种机制关键字区别解析

在异常处理的过程中,throws和throw的区别是?throws:是在方法上对一个方法进行声明,而不进行处理,而是向上传,谁调用谁处理.throw:是在具体的抛出一个异常类型.throws的栗子:throws的话,就是这个方法有可能会产生异常,而我只是将它声明出去,我自己不处理,如果有人调用的时候,可…

TL431的用法

TL431是可控精密稳压源。它的输出电压用两个电阻就可以设置从Vref(2.5V)到36V范围内的任何值。该器件的典型动态阻抗为0.2Ω,在很多应用中用它代替稳压二极管,例如,数字电压表,运放电路,可调压电…

AD16原理图.schdot中批量修改标签中的文本字体、大小、颜色

1)使用鼠标左键区域选中需要修改的文本,或按住shift键使用鼠标左键选择分布在图中各处的需要修改的文本 2)按住shift键,鼠标左键双击选中的任一文本,弹出如下的SCH Inspector弹窗 3)在SCH Inspector弹窗中…

12v小型电机型号大全_鄂破碎机型号大全图,小型鄂破碎机价格

鄂破碎机,粗碎加工主力配置,因为使用频繁,很多案例都少不了,所以设备生产厂家有很多,但是随时鄂破碎机的机型更新,核心性能越来越完善,整机时产更高,而且环保性能更强悍。鄂破碎机型…

我的第一次Pascal程序

今天刚刚来学点Pascal语言,都怪我买的书大多是用Pascal语言写的,所以我只能试着学一点咯! 来一段程序员最经典的Hello World! 1 program exl_2; 2 begin 3 write(Hello World!); 4 end. 转载于:https://www.cnblogs.com/ECJTU…

C#中的前台线程和后台线程的区别

前台线程:应用程序必须运行完所有的前台线程才能退出,默认创建的线程都是前台线程。 后台线程:应用程序可以不必考虑后台线程是否已经运行完毕(包括正常退出和异常退出),只要所有的前台线程结束&#xff0…

C#中string.Concat方法的使用

string.Concat方法用于连接string的一个或多个实例,或string的一个或多个实例的object表示形式 https://docs.microsoft.com/zh-cn/dotnet/api/system.string.concat?viewnet-5.0 1)连接string[]或object[]数组中的元素 using System; using System.C…

将java项目做成app_将鸿蒙做成和EMUI一致,又兼容安卓APP,华为已立于不败之地...

自从华为的系统曝光以来,每天都有众多的网友为其摇旗呐喊,说不管怎么时候推出,甚至就算不好用,都无条件支持,说如果连自己人都不支持,就不可能成功了。但近日,随着网上曝光华为鸿蒙系统的的相关…

C# 使用StackFrame和StackTrace类 获取当前函数名,当前代码行,源代码文件

https://docs.microsoft.com/zh-cn/dotnet/api/system.diagnostics.stackframe?viewnetframework-3.0 https://docs.microsoft.com/zh-cn/dotnet/api/system.diagnostics.stacktrace?viewnetframework-3.0 测试代码如下: using System; using System.Collections…

2017-03-16 Codeforces 453A 概率期望,思维 UOJ 228(待补)

Codeforces 453A A. Little Pony and Expected Maximum 题意:一个m面质地均匀的骰子,每面出现的概率都是独立的1/m, 你需要投掷n次,其结果是这n次出现的最大点数。问投掷n次骰子的结果的期望值是多少,要求相对误差或绝对误差不…

vuex的命名空间有哪些_Vue 3 带来的 Vuex 的替代方案

一、前言就像是 React 社区在 HOOK API 出现后很快就使用 useReducer、useContext 代替了 Redux 进行状态管理一样。Vue3 也是时候抛弃 Vuex 进行状态管理了。在考虑为什么要抛弃 Vuex 之前,我们先来想一下为什么要引入 Vuex?Vuex 实际上解决的问题是「组…

C# Task异步编程

1、不适用异步的示例 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using System.Net; using System.Diagnostics;namespace ConsoleApplication1 {class MyDownloadStrin…

人形图案c语言程序_最多 280 字符,你能用 Basic 玩出哪些花样程序来?

(给程序员的那些事加星标)转自:机器之心【导读】:推特与计算机能擦出什么样的火花呢?大多数人可能就想到在计算机上发推特呗。但是,有人就不这么想。酷爱计算机演进史和推特的 Dominic Pajak 创建了 BBC Micro Bot,它能…

???--???二进制变换

题意 : 定义两种变换 1 : i i - 1 2 : i i - lowbit (i) 定义函数Calc(i,j)为二进制意义下 i 变换到 j 的最小步数。 给你一个二进制整数 n,要求 sigma {(i 1 -> n) sigma {(j 0 -> i - 1) Calc (i,j)}} 数据范围 : 令…

C# 派生类的构造函数

假定没有为任何类定义任何显式的构造函数,这样编译器就会为所有的类提供默认的初始化构 造函数,在后台会进行许多操作,但编译器可以很好地解决类的层次结构中的所有问题,每个类中 的每个字段都会初始化为对应的默认值。但在添加了一个我们自己的构造函数后,就要通过派生类 的层…

js 获取url问号前_PHP获取指定网页的HTML代码并执行输出

PHP获取指定网页的HTML代码并执行输出&#xff0c;这个方法主要是将所要或取目标的URL地址的网站中获取相关内容到自己的网页中。代码如下&#xff1a;<?php $srcurl "所要截取目标的URL地址"; $handle fopen($srcurl,"rb"); $content fread($handl…

AD16画线时如何切换90°、45°、任意角度画线模式

在绘图界面选择画线后&#xff0c;使用“shift空格”可切换不同的画线模式。切换过程中会有90模式、45度模式、任意角度模式等&#xff0c;在这些模式中可使用空格键在进行细分切换。 1、90模式 2、45模式 3、任意模式