C# 如何规范的写 DEBUG 输出

 更新时间:2017年12月24日 10:44:11   投稿:mrr  
本文来告诉大家一个规范,如何去写 DEBUG 的输出。本文给大家介绍的非常详细,需要的朋友参考下吧

经常在代码中,需要使用 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#中委托的基础入门与实现方法

    C#中委托的基础入门与实现方法

    这篇文章主要给大家介绍了关于C#中委托的基础入门与实现方法的相关资料,究竟什么是委托,用最通俗易懂的话来讲,你就可以把委托看成是用来执行方法(函数)的一个东西,需要的朋友可以参考下
    2021-08-08
  • C#连接db2数据库的实现方法

    C#连接db2数据库的实现方法

    本篇文章是对C#连接db2数据库的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 详解c# 类型转换

    详解c# 类型转换

    这篇文章主要介绍了c# 类型转换的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以学习
    2020-07-07
  • C#将PDF转为多种图像文件格式的方法(Png/Bmp/Emf/Tiff)

    C#将PDF转为多种图像文件格式的方法(Png/Bmp/Emf/Tiff)

    这里介绍将PDF转换多种不同格式的图像文件格式,如PNG,BMP,EMF,TIFF等,同时,转换文档也分为转换全部文档和转换部分文档为图片两种情况,本文也将作进一步介绍
    2018-02-02
  • C# 多线程并发编程基础小结

    C# 多线程并发编程基础小结

    本文主要介绍了C# 多线程并发编程基础小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04
  • C#隐藏控制台键盘输入的方法

    C#隐藏控制台键盘输入的方法

    这篇文章主要介绍了C#隐藏控制台键盘输入的方法,涉及C#针对系统底层调用的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C# Dynamic关键字之:调用属性、方法、字段的实现方法

    C# Dynamic关键字之:调用属性、方法、字段的实现方法

    本篇文章是对C#中调用属性、方法、字段的实现方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#实现软件开机自动启动的两种常用方法总结

    C#实现软件开机自动启动的两种常用方法总结

    这篇文章主要为大家详细介绍了C#实现软件开机自动启动的两种常用方法,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2023-07-07
  • WPF实现基础控件之托盘的示例代码

    WPF实现基础控件之托盘的示例代码

    这篇文章主要为大家详细介绍了如何利用WPF实现托盘这一基础控件,文中的示例代码讲解详细,对我们学习或工作有一定帮助,感兴趣的小伙伴可以了解一下
    2022-10-10
  • 最好用的WPF加载动画功能

    最好用的WPF加载动画功能

    当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给大家介绍了最好用的WPF加载动画功能,需要的朋友可以参考下
    2025-01-01

最新评论