Консольні застосування мають обмежену область застосування, найпоширенішим з яких є навчання мові програмування. Для організації уведення і виведення використовується відомий вам клас Console, визначений в просторі імен System. У цьому класі визначено три стандартні потоки: вхідний потік Console.In класу TextReader і вихідні потоки Consolе.Out і Console.Error класу TextWriter.
За умовчанням вхідний потік пов'язаний з клавіатурою, а вихідні - з екраном. Проте можна перенаправити ці потоки на інші пристрої за допомогою методів SetIn і SetOut або засобами операційної системи (перенаправлення за допомогою операцій <, > і >>.
При обміні з консоллю можна застосовувати методи вказаних потоків, але частіше використовуються методи класу Console: Read, ReadLine, Write і WriteLine. Ці методи просто передають управління методам, що розташовуються нижче: In, Out і Error.
Використання двох вихідних потоків корисно, якщо треба розділити на нормальне виведення програми і її повідомлення про помилки. Наприклад, нормальне виведення програми можна направити у файл, а повідомлення про помилки - на консоль або у файл журналу.