1

我正在尝试在 VSC 1.13.1 中运行一个简单的 Hello World 代码。

using System;

public class Hello1
{
    public static void Main()
    {
        Console.WriteLine("Hello, World!");
    }
}

它成功完成执行,但不产生任何输出,即 - Hello, World!

请提供任何帮助!

使用代码运行器。

4

5 回答 5

2

Add Console.ReadKey(),所以输出将一直存在,直到按键被按下

   public static void Main()
   {
     Console.WriteLine("Hello, World!");
     Console.ReadKey();
   }
于 2017-07-10T04:31:59.563 回答
2

目前似乎 VSCode(或 C# 扩展)存在问题。其他 StackOverflow 答案表明,这在几年前不起作用,然后它开始起作用,现在(2018 年)它又不起作用了。

我有同样的问题。我找到的解决方法是:如果我在调试器中运行我的代码(调试 > 开始调试),它会显示输出。但如果我只是正常运行它,它不会。这是我发现或读到的唯一对我有用的解决方法。

于 2018-07-13T19:35:09.560 回答
1

另一种选择是使用 ctrl + F5 而不是 F5 来启动项目,它将保持终端打开,直到您按下一个键

如何在 Visual C++ 中保持控制台窗口打开?

于 2017-07-10T04:40:32.500 回答
0

我注意到,此时使用 Code Runner确实也会为 JS 产生一些不一致的行为。
但是,乍一看,您还没有安装正确的支持插件(这可能是您的特定问题的原因): Code Runner 需要:“要运行 C# 脚本,您需要安装scriptcs ”据说使用Chocolatey - 包Windows 管理员。

目前,禁用扩展,重新启动 VSCode 然后启用它 - 修复了 JS 的当前常见问题(并不总是产生输出)。这也可能在 C# 之前。
注意! 确保在使用 Code Run 运行文件之前手动保存文件

我今天将对此进行测试并添加结果。

测试结果:安装scriptcsChocolatey后你的 HelloWorld.cs 文件可以运行,不会产生结果。原因:代码被视为脚本。这意味着没有调用 Main() 方法。意思是,你必须这样做。例子:

using System;
public class Hello
{
     public static void Main()
    {
        var message = "hiiii inside => Works"   ;
        Console.WriteLine(message);
        HW();
    }

    public static void HW(){
        Console.WriteLine("Hello, World!");
        // the ReadLine will not work because it is only one way solution : ouptut only
        // var a = Console.ReadLine();
        // Console.WriteLine("key pressed: " + a + "Doesn't work");
    }
}

Hello.Main();
//can be used like this as well
var message= "Hey helloooo outside WORKS";
Console.WriteLine(message);

使用Ctrl+Alt+N开始,使用Ctrl+Alt+M停止(如果挂起)如果您使用 Console.ReadLine(); 它会挂起 - 检查(取消注释)HW() 方法中的示例代码。

PS 命名空间不能在脚本中使用 - 如果您尝试将它们与 Code Runner 一起使用,将是您收到的错误消息

于 2017-09-12T14:53:12.740 回答
0

好吧,Code Runner 是一个运行 C# 脚本的工具。它将main方法视为普通方法,不会调用它。

您应该只编写 Main 方法:

System.Console.WriteLine("hello, world");

或者

static class Test
{
  public static void Main()
  {
    System.Console.WriteLine("hello, world");
  }
}

Test.Main();
于 2020-04-19T05:54:19.113 回答