c# - 在 VS 中运行时如何查看 C# 控制台程序的输出?

标签 c# visual-studio console

我刚刚编写了一个名为 helloworld 的聪明程序。这是一个 C#/.NET 4.5 控制台应用程序。在扭曲的嵌套逻辑迷宫深处,使用了 Console.WriteLine()。

当我在命令行运行它时,它运行了并且我看到了输出。我可以执行其他命令并稍微弄乱一下,然后向上滚动以再次查看输出。

现在我在 Visual Studio 中调整源代码(“Hi”比“Hello”更有效)并通过点击 F5 进行测试。发生的事情是弹出一个控制台窗口并立即消失。我不知道程序打印了什么。如何查看输出?

我根本不想修改我的源代码。在搜索解决方案之后,我发现有人说要使用 Console.ReadKey() - 但是在命令行中使用该程序会很糟糕。当程序已经完成它的工作时,用户没有理由必须点击一个键。即使我这样做,当控制台窗口在按键后关闭时,输出也会消失。

我不想使用 Debug.WriteLine(),它会写入 VS 中的输出窗口,但不会写入普通输出供最终用户查看。

我发现了 ctrl-F5,它运行程序就像它有最后一行 Console.ReadKey() 一样,但仍然存在问题,当我点击任意键时,所有输出都随窗口一起消失。三分钟后,我在想“哦等等,它打印的是‘Hello’还是‘Helo’?”没有办法检查。

似乎 Visual Studio IDE 应该以某种方式捕获新构建的程序写入其 stdout 或 Microsoft 等价物的所有内容,并将其显示在其“输出”面板或某个面板中,以供以后审查。也许它确实这样做了,我还不知道它的诀窍?这似乎是数百万 C# 开发人员的共同愿望。

最佳答案

如果您正在使用 Visual Studio 2019 开发 .NET Core 控制台应用程序(或 .NET Framework via the .NET SDK),现在默认情况下会发生在程序执行后让控制台窗口保持打开状态的行为:

The Microsoft Visual Studio Debug Console window

具体来说:

This should prevent the need to add Console.Read() calls to console apps to prevent the console window from closing immediately after the program has finished executing. The launched console window is also re-used for subsequent runs, so if you’re used to using ctrl+f5, you won’t have lots of console windows to close after you’ve launched your application a few times.

关于c# - 在 VS 中运行时如何查看 C# 控制台程序的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27556999/

相关文章:

c# - 在 c# 中这个查询的 LINQ 解决方案是什么?

c# - Asp.net mvc 密码校验 : Weak, 正常,强

c# - Visual Studio 2012 添加对错误 DLL 的引用

visual-studio - 打开 Android SDK 管理器 Visual studio 2015

c++ - 在 Visual Studio 中使用 'Linux development with C++' 时如何将源保留在本地?

c# - 表单认证slidingExpiration不起作用

c# - WPF 级联组合框到文本框

C# 如何在从控制台读取后对数组的所有 int 元素进行异或?

node.js - 使用 node.js 从标准输出实时读取

javascript - 首先执行代码的错误部分