Aplikacje konsolowe na platformie .NET
Aplikacje platformy .NET mogą używać System.Console klasy do odczytywania znaków z i zapisywania znaków w konsoli programu . Dane z konsoli są odczytywane ze standardowego strumienia wejściowego, dane do konsoli są zapisywane w standardowym strumieniu wyjściowym, a dane błędów w konsoli są zapisywane w standardowym strumieniu danych wyjściowych błędów. Te strumienie są automatycznie skojarzone z konsolą po uruchomieniu aplikacji i są prezentowane odpowiednio jako Inwłaściwości , Outi Error .
Wartość Console.In właściwości jest obiektem System.IO.TextReader , natomiast wartości Console.Out właściwości i Console.Error są System.IO.TextWriter obiektami. Te właściwości można skojarzyć ze strumieniami, które nie reprezentują konsoli, co umożliwia skierowanie strumienia do innej lokalizacji dla danych wejściowych lub wyjściowych. Na przykład można przekierować dane wyjściowe do pliku, ustawiając Console.Out właściwość na System.IO.StreamWriter, która hermetyzuje System.IO.FileStream metodę Console.SetOut za pomocą metody . Właściwości Console.In i Console.Out nie muszą odwoływać się do tego samego strumienia.
Uwaga
Aby uzyskać więcej informacji na temat kompilowania aplikacji konsolowych, w tym przykładów w języku C#, Visual Basic i C++, zobacz dokumentację Console klasy .
Jeśli konsola nie istnieje, na przykład w aplikacji Windows Forms, dane wyjściowe zapisane w standardowym strumieniu wyjściowym nie będą widoczne, ponieważ nie ma konsoli do zapisania informacji. Zapisywanie informacji w konsoli niedostępnej nie powoduje zgłoszenia wyjątku. (Zawsze można zmienić typ aplikacji na Aplikacja konsolowa, na przykład, na stronach właściwości projektu w programie Visual Studio).
Klasa System.Console zawiera metody, które mogą odczytywać poszczególne znaki lub całe wiersze z konsoli programu . Inne metody konwertują dane i ciągi formatujące, a następnie zapisują ciągi sformatowane w konsoli. Aby uzyskać więcej informacji na temat formatowania ciągów, zobacz Typy formatowania.
Napiwek
Aplikacje konsolowe nie mają pompy komunikatów uruchamianej domyślnie. W związku z tym wywołania konsoli do czasomierzy Usługi Microsoft Win32 mogą zakończyć się niepowodzeniem.