Wprowadziłem kilka Console.WriteLine
wywołań do przetestowania, ale nie pojawiają się one w oknie wyjściowym?
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);
}
}
Czy ktoś może pomóc?
Odpowiedzi:
Jeśli zamierzasz wykorzystać te dane wyjściowe w środowisku produkcyjnym, użyj elementów członkowskich klasy Trace . To sprawia, że kod jest przenośny, możesz łączyć różne typy odbiorników i dane wyjściowe do okna konsoli, okna debugowania, pliku dziennika lub cokolwiek innego, co chcesz.
Jeśli jest to tylko tymczasowy kod debugujący, którego używasz do sprawdzenia, czy określony kod jest wykonywany lub ma prawidłowe wartości, użyj klasy Debug, jak sugeruje Zach .
Jeśli absolutnie musisz używać konsoli, możesz dołączyć konsolę w
Main
metodzie programu .źródło
Console
dane wyjściowe do okna konsoli i aplikacji Winforms nie pokazują okna konsoli. Powinieneś być w stanieSystem.Diagnostics.Debug.WriteLine
wysłać dane wyjściowe do okna wyjściowego w swoim IDE.Edycja: Jeśli chodzi o problem, czy zweryfikowałeś, że
mainForm_Load
faktycznie dzwonisz? Możesz umieścić punkt przerwania na początku,mainForm_Load
aby zobaczyć. Jeśli nie jest wywoływany, podejrzewam, żemainForm_Load
nie jest powiązany zLoad
wydarzeniem.Ponadto, jest bardziej wydajny i ogólnie lepiej zastąpić
On{EventName}
zamiast subskrypcji{EventName}
z poziomu klas pochodnych (w przypadku nadrzędneOnLoad
zamiastLoad
).źródło
Import System.Diagnostics
to znacznie uprościć. I wolęTrace
do tego używać klasy.System.Diagnostics.Debug.WriteLine
.Jeśli chcesz, aby
Console.WriteLine("example text")
dane wyjściowe były wyświetlane w oknie Dane wyjściowe debugowania, tymczasowo zmień typ danych wyjściowych aplikacji z aplikacji konsoli na aplikację systemu Windows.Z menu wybierz Projekt + Właściwości i przejdź do Typ wyjścia: lista rozwijana, przejdź do aplikacji Windows, a następnie uruchom aplikację
Oczywiście powinieneś zmienić to z powrotem, aby zbudować aplikację konsolową przeznaczoną do uruchamiania poza IDE.
(testowane z Visual Studio 2008 i 2010, spodziewaj się, że powinno działać również w późniejszych wersjach)
źródło
Za pomocą
Console.WriteLine( "Test" );
można zapisywać komunikaty dziennika w oknie danych wyjściowych (menu Widok -> dane wyjściowe) w programie Visual Studio dla projektu Windows Forms / WPF.Jednak spotkałem się z przypadkiem, w którym to nie działało, a tylko
System.Diagnostics.Debug.WriteLine( "Test" );
działało. Zrestartowałem Visual Studio iConsole.WriteLine()
zacząłem znowu pracować. Wygląda na to, że jest to błąd programu Visual Studio.źródło
Jeśli tworzysz aplikację wiersza poleceń, możesz również użyć
Console.ReadLine()
na końcu kodu, aby poczekać na naciśnięcie klawisza „Enter” przed zamknięciem okna konsoli, aby móc odczytać dane wyjściowe. Jednak zarówno odpowiedzi dotyczące śledzenia i debugowania zamieszczone powyżej są lepszymi opcjami.źródło
Spróbuj odznaczyć pole wyboru „Użyj zarządzanego trybu zgodności” w
U mnie to zadziałało.
źródło
Kiedy problem występuje na Mac VS 2017 (z którym się spotkałem).
Uruchom teraz kod aplikacji.
źródło
Stary wątek, ale w VS 2015 Console.WriteLine nie zapisuje do okna wyjściowego, jeśli opcja „Włącz proces hostingu programu Visual Studio” nie jest zaznaczona lub jest wyłączona we właściwościach projektu -> karta Debugowanie
źródło
Wybierz widok >> Wyjście, aby otworzyć okno wyjściowe.
W oknie wyników możesz zobaczyć wynik
źródło