C# 如何规范的写 DEBUG 输出

作者:mrr 时间:2023-04-27 03:12:37 

经常在代码中,需要使用 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 输出问题,希望对大家有所帮助!

来源:https://lindexi.gitee.io/lindexi/post/C-%E5%A6%82%E4%BD%95%E5%86%99-DEBUG-%E8%BE%93%E5%87%BA.html?utm_source=tuicool&utm_medium=referral

标签:c#,debug,输出
0
投稿

猜你喜欢

  • Redis缓存策略超详细讲解

    2023-11-08 06:20:10
  • Android重写View实现全新的控件

    2021-08-11 21:49:39
  • Java带返回值的方法的定义和调用详解

    2022-10-05 21:01:09
  • java集合collection接口与子接口及实现类

    2021-07-02 10:59:04
  • C#中的值传递和引用传递详细解析

    2022-03-20 20:11:02
  • SpringBoot整合WebService的实现示例

    2023-05-25 12:37:55
  • 基于C#实现网页爬虫

    2021-10-30 08:13:44
  • Java的idea连接mongodb数据库的详细教程

    2023-11-19 08:07:58
  • Mybatis Plugin拦截器开发过程详解

    2021-07-15 22:30:18
  • 解决IDEA克隆代码后在右下角没有git分支的问题

    2021-11-23 09:43:19
  • 解决SpringBoot 测试类无法自动注入@Autowired的问题

    2023-11-02 04:34:14
  • Android Handler主线程和一般线程通信的应用分析

    2022-10-29 14:08:13
  • 如何使用C#在PDF文件添加图片印章

    2021-06-26 05:34:51
  • 一文详解Java抽象类到底有多抽象

    2023-08-27 01:41:26
  • Android ViewPager实现无限循环效果

    2022-03-14 00:15:42
  • 详解ASP.NET中Identity的身份验证代码

    2022-05-20 04:43:48
  • Springboot实现阿里云通信短信服务有关短信验证码的发送功能

    2022-07-24 15:36:53
  • 详解springboot集成mybatis xml方式

    2022-08-05 09:04:54
  • Spring使用xml方式整合第三方框架流程详解

    2022-07-05 10:50:03
  • java线程之join方法的使用介绍

    2023-01-15 12:18:40
  • asp之家 软件编程 m.aspxhome.com