Приставка.Строку не отображается в окне вывода
Я поставил Console.WriteLine
вызовы для тестирования, но они не появляются в поле вывода?
public static ArrayList myDeliveries = new ArrayList();
public mainForm(){
InitializeComponent();
}
private void mainForm_Load(object sender, EventArgs e){
if (!File.Exists("../../MealDeliveries.txt")){
MessageBox.Show("File not found!");
return;
}
using (StreamReader sr = new StreamReader("../../MealDeliveries.txt")){
//first line is delivery name
string strDeliveryName = sr.ReadLine();
Console.WriteLine("Test content");
while (strDeliveryName != null){
//other lines
Delivery d = new Delivery(
strDeliveryName,
sr.ReadLine(),
sr.ReadLine(),
sr.ReadLine(),
sr.ReadLine(),
sr.ReadLine(),
sr.ReadLine()
);
mainForm.myDeliveries.Add(d);
//check for further values
strDeliveryName = sr.ReadLine();
}
}
displayDeliveries();
}
private void displayDeliveries(){
lstDeliveryDetails.Items.Clear();
Console.WriteLine("Test content");
Console.WriteLine(mainForm.myDeliveries.Count);
foreach (Delivery d in mainForm.myDeliveries){
lstDeliveryDetails.Items.Add(d.DeliveryName);
}
}
кто может помочь??
7 ответов:
Если вы собираетесь использовать этот вывод в производстве, то используйте след члены класса. Это делает код переносимым, вы можете подключить различные типы слушателей и выводить их в окно консоли, окно отладки, файл журнала или что-то еще, что вам нравится.
Если это просто какой-то временный отладочный код, который вы используете для проверки того, что определенный код выполняется или имеет правильные значения, то используйте Debug класс Зак предлагает.
Если вы абсолютно должны использовать консоль, то вы можете прикрепить консоли в программе
Main
метод.
Console
выходы в окно консоли и приложения Winforms не показывают окно консоли. Вы должны быть в состоянии использоватьSystem.Diagnostics.Debug.WriteLine
для отправки вывода в окно вывода в среде IDE.Edit: в отношении проблемы, вы проверили ваш
mainForm_Load
на самом деле вызывается? Вы можете поместить точку останова в началеmainForm_Load
посмотреть. Если это не называется, Я подозреваю, чтоmainForm_Load
не подключен кLoad
событие.кроме того, это более эффективно и, как правило, лучше переопределить
On{EventName}
вместо заключения{EventName}
из производных классов (в вашем случае переопределенияOnLoad
вместоLoad
).
Если вы хотите
Console.WriteLine("example text")
вывод для отображения в окне вывода отладки временно измените тип вывода вашего приложения с консольного приложения на приложение Windows.в меню выберите проект + свойства и перейдите к типу вывода: выпадающее меню, перейдите в приложение Windows, а затем запустите приложение
конечно, вы должны изменить его обратно для создания консольного приложения, предназначенного для работы вне среды IDE.
(проверено с помощью Visual Studio 2008 и 2010, ожидайте, что он должен работать и в последних версиях)
Если вы разрабатываете приложение командной строки, вы можете также использовать
Console.ReadLine()
в конце вашего кода, чтобы дождаться нажатия клавиши "Enter" перед закрытием окна консоли, чтобы вы могли прочитать свой вывод. Однако ответы трассировки и отладки, опубликованные выше, являются лучшими вариантами.
когда проблема происходит на Mac VS 2017 (с которым я столкнулся).
- перейдите в проект > > параметры "имя вашего проекта".
- появится окно опций
- перейти к запуску > > опция меню по умолчанию
- отметьте опцию" запуск на внешней консоли " TRUE и скажите OK
запустите код приложения прямо сейчас.
используя
Console.WriteLine( "Test" );
может записывать сообщения журнала в окно вывода (меню Вид --> вывод) в Visual Studio для проекта Windows Forms/WPF.однако, я столкнулся со случаем, когда он не работал и только
System.Diagnostics.Debug.WriteLine( "Test" );
работает. Я перезапустил Visual Studio иConsole.WriteLine()
снова начала работать. Кажется, это ошибка Visual Studio.