C# 如何规范的写 DEBUG 输出
2017-12-24 10:44
369 查看
经常在代码中,需要使用 DEBUG 来输出一些奇怪的东西来进行测试。但是输出的窗口只有一个,如果有一个逗比在不停输出,那么就会让输出窗口看不到自己的内容。
Task.Run(() => { while (true) { Console.WriteLine("我是逗比"); } }); Console.WriteLine("有用的信息");
于是逗比喜欢自己的测试代码,因为他需要不停看到输出窗口在说自己,但是正常的程序员是只看有用的东西,所以他就会拿出刀子准备杀掉逗比。那么逗比如何防止自己被杀,他这时就告诉程序员,注释掉代码
Task.Run(() => { while (true) { //Console.WriteLine("我是逗比"); } }); Console.WriteLine("有用的信息");
但是程序员注释了,也没有什么作用,因为逗比在很多个地方写了这样的代码
Task.Run(() => { while (true) { //Console.WriteLine("我是逗比"); } }); Console.WriteLine("有用的信息"); Task.Run(() => { while (true) { Console.WriteLine("我是逗比 1"); } });
终于程序员注释所有的代码,可以运行了,但是逗比拿到程序员的代码,发现没有输出了,这时他又不高兴了,于是逗比去掉了所有的注释,准备在上传代码的时候再把代码注释。但是不小心,有一个地方没有注释了,所以还是被程序员打了。
那么逗比需要如何防止被程序员打?下面我就来告诉一个方法,使用 #if
一般在代码会看到这样的写法
Task.Run(() => { while (true) { # if DEBUG Console.WriteLine("我是逗比"); # endif } });
但是这样的写法是不对的,因为 DEBUG 只有在所有开发者在测试都需要使用的代码才使用他。如果是自己使用的,一般都自己定义。那么如何定义?需要在文件的开始写下面的代码
# define DEBUG_取消注释显示林德熙调试 using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading; using System.Threading.Tasks; using lindexi.framework.mvvm; using lindexi.controls; using lindexi.linq;
定义的格式是 DEBUG_取消注释 后面加上功能
现在的代码就可以修改为
Task.Run(() => { while (true) { # if DEBUG_取消注释显示林德熙调试 Console.WriteLine("我是逗比"); # endif } });
于是所有的我自己使用的都使用这个方法,只需要注释掉我的定义就可以去掉所有我的代码。这样就不需要一个个去注释,而且一般这句代码在上传代码的时候就去掉。
但是这个方法有个缺点,在他的作用只能在一个文件,如果有多个文件都需要写自己的代码,那么还是需要在多个文件上添加这句话,如果在上传代码的时候不记得把所有的文件进行注释,那么还是会被打。
总结
以上所述是小编给大家介绍的C# 如何规范的写 DEBUG 输出问题,希望对大家有所帮助!
您可能感兴趣的文章:
相关文章推荐
- C#中如何获取存储过程的输出参数值
- Java 中如何实现(类似于C#中的OUT)的输出类型参数
- C#单元测试如何查看输出的调试信息?
- C#.NET常见问题(FAQ)-如何输出带选项的MessageBox,YESNO
- 如何在C#语言中实现int类型的数字以字符类型输出
- 【C#】#if DEBUG 与 如何更好更快的debug
- C#控制台基础 全角与半角如何切换 全角半角输出的区别
- C#中如何获取存储过程的输出参数值
- 如何写安全的Java Web应用之输入校验(一):不要在输出中包含Debug信息
- C#中请问如何在串口通讯中接收输出HEX格式数据
- (六)Net Core项目使用Controller之一 c# log4net 不输出日志 .NET Standard库引用导致的FileNotFoundException探究 获取json串里的某个属性值 common.js 如何调用common.js js 筛选数据 Join 具体用法
- Unity应用发布如何在本地查看Debug输出?
- C#将Trace,Debug信息输出到控件上
- c#如何使用 Debug 和 Trace 类(转)
- 在C#(CSharp)中如何使用string.Format输出大括号{}
- mysql密码为空时,c#如何运行一条cmd命令导入sql文件到数据库并获得mysql的输出
- 如何关闭 org.apache.zookeeper.clientcnxn 的(控制台大量输出)debug 日志
- C#.NET常见问题(FAQ)-如何输出带选项的MessageBox,YESNO
- C# Winform 中如何获取本机安装输入法,并设置为默认输出语言,如何打开搜狗输入法和手写板
- C# 控制台程序如何输出Messagebox