输出信息法(Debug)

有时候,开发者并不关心对象在运行时的状态,而仅仅需要验证结果是否正确,因此通过输出调试信息来判断代码的执行结果是否符合预期,比起断点调试会更方便。
Debug类(位于System.Diagnostics命名空间下)可以帮助开发人员完成与调试相关操作,比如输出调试信息、断言等。而用于输出调试信息的方法有以下几个:

  1. Print方法:输出文本信息,该文本信息是带有行结尾符的,也就是说每次输出一行。
  2. Write方法:输出调试信息,如果传递给参数的不是字符串类型,则调用该对象的ToString方法以获取字符串表示形式。该方法输出的调试信息末尾是不带行结尾符号的。
  3. WriteIf方法:和Write方法一样,不同的是WriteIf方法需要指定一个条件,当条件为true时才会输出调试信息。
  4. WriteLine方法:和Write方法类似,只是在输出内容的末尾会自动加上换行符。
  5. WriteLineIf方法:和WriteLine方法相近,不过在调用时要提供一个判断条件,当条件为true时才输出信息。

这些方法使用起来跟Console.Write方法差不多,只不过它们并不是把信息输出到应用程序屏幕上,默认情况下,调试信息是输出到Visual Studio的“输出”窗口中。当然,通过配置也可以让调试信息同时输出到日志文件。
示例如下:

            System.Console.WriteLine("按Esc键退出应用程序。");
            do
            {
     
                System.Console.WriteLine("请输入一个整数:");
                //读入一行
                string numTxt = Console.ReadLine();
                //将读入的字符串转换为数字
                long longNum;
                if(long.TryParse(numTxt,out longNum))
                {
     
                    //计算阶乘
                    long result = 1L;
                    while(longNum > 0)
                    {
     
                        //输出调试信息
                        Debug.WriteLine($"longNum的当前值为:{longNum}");
                        //乘积
                        result *= longNum;
                        longNum --;
                    }
                    //输出计算结果
                    System.Console.WriteLine($"{numTxt}的阶乘为:{result}");
                }
            }
            while(Console.ReadKey().Key != ConsoleKey.Escape);

上面的例子实现阶乘计算。用户输入一个整数值,确认后程序会计算该整数的阶乘,并输出计算结果。例如,输入一个整数5,程序会计算54321的结果。
在每一轮循环中都使用Debug类的WriteLine方法输出变量longNum的当前值。运行后的结果如下所示:

按Esc键退出应用程序。
请输入一个整数:
10
10的阶乘为:3628800

你可能感兴趣的:(C#,C#,输出信息法)