sublime上的csharp无法正常工作

时间:2016-02-25 13:41:21

标签: c# sublimetext3

我正试图在Console.ReadLine()上运行Sublime 3的CSharp,但它无法正常运行。这是代码

using System;
using System.Collections;
class randomApp {
    public static void Main(string[] args) 
    {
       Console.Write("Please enter your name:");
       string name = Console.ReadLine();
       Console.WriteLine("Hello " + name);
    }
 }

你看到它输出为

  

请输入您的姓名:

但问题是当我试图输入我的名字并点击ENTER KEY时它不会输出最后一行

  

Hello some-name

我在终端上尝试过,它运行正常。我正在使用Ubuntu 14.04,sublime 3和包compile and run。我怎样才能使它发挥作用?

3 个答案:

答案 0 :(得分:1)

您可以添加ReadKey()来保留屏幕。 ReadLine()期望按下ENTER,因此ReadKey()会更好。

public static void Main(string[] args)
{
    Console.Write("Please enter your name:");
    string name = Console.ReadLine();
    Console.WriteLine("Hello " + name);
    Console.ReadKey();
}

答案 1 :(得分:0)

当您到达代码末尾时,程序将停止。 添加类似Console.ReadLine();的内容,以便您的程序等待输入。

public static void Main(string[] args)
{
    Console.Write("Please enter your name:");
    string name = Console.ReadLine();
    Console.WriteLine("Hello " + name);
    Console.ReadLine();
}

答案 2 :(得分:0)

可能是因为您使用的是Linux而扩展程序“Compile& Run”不支持它。

在Windows上测试代码时,它的工作方式完全符合预期。没有必要像其他人建议的那样使用Console.ReadLine()或任何其他类型的中断。

可在https://github.com/chrokh/csharp-build-singlefile-sublime-text-2获取的ReadMe.md文件用于编译&运行状态表明它仅适用于Windows和OSX。

扩展很可能是期望Windows / OSX行尾(EOL)字符,而在程序中它只接收Unix EOL字符,因此不会终止该行并将控制返回给程序。