English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Wie man DEBUG-Ausgaben in C# schriftlich führt

经常在代码中,需要使用 DEBUG 来输出一些奇怪的东西来进行测试。但是输出的窗口只有一个,如果有一个逗比在不停输出,那么就会让输出窗口看不到自己的内容。

Task.Run(() =>
        {
          while (true)
          {
            Console.WriteLine("Ich bin ein Idiot");
          }
        });
        Console.WriteLine("有用的信息");

于是逗比喜欢自己的测试代码,因为他需要不停看到输出窗口在说自己,但是正常的程序员是只看有用的东西,所以他就会拿出刀子准备杀掉逗比。那么逗比如何防止自己被杀,他这时就告诉程序员,注释掉代码

Task.Run(() =>
        {
          while (true)
          {
            //Console.WriteLine("Ich bin ein Idiot");
          }
        });
        Console.WriteLine("有用的信息");

但是程序员注释了,也没有什么作用,因为逗比在很多个地方写了这样的代码

Task.Run(() =>
        {
          while (true)
          {
            //Console.WriteLine("Ich bin ein Idiot");
          }
        });
        Console.WriteLine("有用的信息");
        Task.Run(() =>
        {
          while (true)
          {
            Console.WriteLine("我是逗比 1");
          }
        });

终于程序员注释所有的代码,可以运行了,但是逗比拿到程序员的代码,发现没有输出了,这时他又不高兴了,于是逗比去掉了所有的注释,准备在上传代码的时候再把代码注释。但是不小心,有一个地方没有注释了,所以还是被程序员打了。

那么逗比需要如何防止被程序员打?下面我就来告诉一个方法,使用 #if

一般在代码会看到这样的写法

Task.Run(() =>
        {
          while (true)
          {
# if DEBUG
            Console.WriteLine("Ich bin ein Idiot");
# 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;

Das Format der Definition ist DEBUG_entsperren, gefolgt von der Funktion

Der aktuelle Code kann so geändert werden

Task.Run(() =>
        {
          while (true)
          {
# if DEBUG_entsperren, um die Debugging-Anweisungen von LindeXi anzuzeigen
            Console.WriteLine("Ich bin ein Idiot");
# endif
          }
        });

Daher verwende ich diese Methode für alle von mir verwendeten, indem ich nur meine Definitionen kommentiere, um alle meinen Code zu entfernen. Auf diese Weise muss man nicht jede Zeile einzeln kommentieren, und diese Zeile wird normalerweise entfernt, wenn der Code hochgeladen wird.

Allerdings hat dieser Ansatz einen Nachteil, seine Wirkung ist nur auf eine Datei beschränkt. Wenn mehrere Dateien eigene Code benötigen, müssen diese in mehreren Dateien hinzugefügt werden. Wenn man die Dateien hochlädt und die Kommentare nicht alle Dateien hinzufügt, werden diese noch immer entfernt.

Zusammenfassung

Die folgenden sind von mir vorgestellten Anleitungen zur规范的 DEBUG-Ausgabe in C#, hoffentlich hilfreich für alle!

Vermutlich gefällt Ihnen