[英]Visual Studio Code Cant get output from a C# code
我正在嘗試在 VSC 1.13.1 中運行一個簡單的 Hello World 代碼。
using System;
public class Hello1
{
public static void Main()
{
Console.WriteLine("Hello, World!");
}
}
它成功完成執行但不產生任何輸出,即 - 你好,世界!
請任何幫助!
使用代碼運行器。
添加Console.ReadKey()
,因此輸出將一直存在,直到按下該鍵
public static void Main()
{
Console.WriteLine("Hello, World!");
Console.ReadKey();
}
目前 VSCode(或 C# 擴展)似乎存在問題。 其他 StackOverflow 答案表明這在幾年前不起作用,然后它開始起作用,現在(2018 年)它再次不起作用。
我有同樣的問題。 我找到的解決方法是:如果我在調試器中運行我的代碼(調試 > 開始調試),它會顯示輸出。 但是如果我只是正常運行它,它不會。 這是我找到或閱讀的唯一對我有用的解決方法。
另一種選擇是使用 ctrl + F5 而不是 F5 啟動項目,它將保持終端打開,直到您也按下某個鍵
我注意到,此時使用 Code Runner確實也會為 JS 產生一些不一致的行為。
但是,乍一看您還沒有安裝正確的支持插件(這可能是導致您的特定問題的原因):Code Runner 要求:“要運行 C# 腳本,您需要安裝scriptcs ”據說使用Chocolatey - 包Windows 管理器。
目前,禁用擴展,重新啟動 VSCode 然后啟用它 - 修復了當前 JS 的常見問題(並不總是產生輸出)。 也可以在 C# 前面。
注意! 確保在使用 Code Run 運行文件之前手動保存文件
我今天將對此進行測試並添加結果。
測試結果:安裝scriptcs和Chocolatey后你的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 一起使用,將是您收到的錯誤消息
好吧,Code Runner 是一個運行 C# 腳本的工具。 它會將 main 方法視為普通方法,不會調用它。
您應該只編寫 Main 方法:
System.Console.WriteLine("hello, world");
或者
static class Test
{
public static void Main()
{
System.Console.WriteLine("hello, world");
}
}
Test.Main();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.