Почему Console.WriteLine не работает в коде Visual Studio?
У меня есть скрипты и кодернер, установленные в коде Visual Studio. Когда я запускаю простую программу, которая включает в себя Console.WriteLine("Test")
Я не вижу никакого выхода. Программа, кажется, работает успешно и завершается с кодом 0.
Какие-либо предложения?
Вот весь код на случай, если кому-то будет интересно:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Test");
}
}
7 ответов
В файле launch.json должно быть поле с именем 'console':
Меняя его с:
"console": "internalConsole",
Для того, чтобы:
"console": "externalTerminal",
исправил это для меня.
Если вы просто пытаетесь запустить файл cs без проекта и т. Д., Проблема заключается в том, что обработчик кода обрабатывает файл как скрипт. Таким образом, основной метод на самом деле не вызывается так, как при запуске консольного приложения.
Поэтому решение состоит в том, чтобы сделать ваш метод main общедоступным и добавить вызов Program.Main(null); после определения класса. Это решение не требует какого-либо файла конфигурации launch.json или изменений конфигурации. Обратите внимание, что вызов Program.Main после определения класса действительно показывает ошибку в коде VS, но он прекрасно работает в коде запуска. Смотрите блок кода ниже.
using System;
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Test");
}
}
Program.Main(null);
Я нашел ответ на это здесь: /questions/41759576/visual-studio-code-cant-poluchaet-vyivod-iz-koda-c/41759590#41759590
Он покажет ваш вывод, если вы нажмете Ctrl+F5. Вы получите вывод в окне консоли. Другое решение, если вы напишите Console.ReadLine(); после console.writeline, оно останется открытым окном консоли, пока вы не нажмете какую-либо клавишу.
Альтернативой может быть использование Debug.WriteLine("test") вместо этого, он записывает непосредственно в окно. Необходимо использовать System.Diagnostics
Вам необходимо добавить любой из следующих строк кода
Console.Readline()
Console.Read()
Console.ReadKey()
пример:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Test");
Console.ReadLine();
}
}
Код скомпилировался и затем запустился, но он не был очень быстрым, и консольное приложение закрылось после выполнения. Чтобы этого не случилось, вам нужно добавить еще один метод, например:
- Console.Read ();
или же
- Console.ReadLine ();
(Строка означает перевод строки, это означает, что курсор перемещается на следующую строку слева).
Таким образом, приложение закроется, если вы нажмете клавишу "Ввод" на клавиатуре.
Вы должны сделать это
Console.WriteLine("Hello");
string name = Console.ReadLine();