Программирование в .NET Framework
Консольные приложения
Понятие "консоль" пришло к нам из тех времен, когда были популярны большие компьютеры, их называли мейнфреймами. Компания размещала в каком-нибудь помещении один гигантский компьютер, а на рабочих местах служащих устанавливалась только клавиатура и простенький монитор, называвшийся консолью. Клавиатура и монитор подключались к тому самому "монстру", спрятанному от посторонних глаз в отдельной комнате. Такие мониторы не умели отображать графику — только текст. Информация передавалась в мейнфрейм при помощи клавиатуры – основного устройства ввода, а консоль – основное устройство вывода – позволяла компьютеру представлять информацию пользователю.
Сегодня мониторы большинства компьютеров имеют гораздо более совершенные возможности и способны отображать не только текст, но и, например, фотографии.
Однако при выполнении многих задач никаких графических изысков не требуется. Например, программа, получающая какие-либо данные с сервера в Интернете и сохраняющая их в файле на вашем компьютере, должна уметь выводить только два сообщения: "идет получение данных" и "готово". Зачем тратить время на разработку затейливого пользовательского интерфейса, который занимает много памяти? Именно по этой причине в библиотеку .NET включен класс для быстрого написания консольных приложений.
Не стоит относиться снисходительно к консольным приложениям и считать их слишком примитивными. Опытные программисты предпочитают не тратить усилия на интерфейсные ухищрения и работают в основном с консольными приложениями.
Конечно, если вашей программой будет пользоваться кто-то еще, то вы, вероятно, окажете ему большую услугу, сделав интерфейс чуть более дружественным, чем в стандартном консольном приложении.
Некоторые полезные методы:
- Console.ReadLine — считывает строку символов, введенную с клавиатуры (или иного устройства ввода).
- Console.WriteLine — выводит текст на экран (или иное устройство вывода) начиная с новой строки.
- Console.Write — выводит на экран ряд символов без перехода на новую строку.
Пример программы 3.1
Следующая программа выводит на экран слово "Ура!" и после этого ожидает нажатия клавиши ВВОД.
using System; class PleaseSayUra { static void Main() { // Выводим слово на экран Console.Write("Ура!"); // Ожидаем нажатия клавиши ВВОД Console.ReadLine(); } }Листинг 3.1.
Пример программы 3.2
Следующая программа:
- просит пользователя ввести слово при помощи клавиатуры;
- спрашивает, сколько раз это слово должно быть выведено на экран;
- выводит слово на экран указанное количество раз, причем в каждом случае с новой строки.
using System; class WriteAFewLines { static void Main() { Console.WriteLine("Введите Ваше любимое слово : "); // Сохраняем в строковой переменной введенное пользователем слово string favouriteWord = Console.ReadLine(); Console.WriteLine("Сколько раз его напечатать? "); // Сохраняем в целочисленной переменной введенное число // (При неправильном вводе числа произойдет ошибка) int numberOfTimes = Convert.ToInt32(Console.ReadLine()); // Выводим на экран слово указанное количество раз for (int i = 0; i < numberOfTimes; i++) { Console.WriteLine(favouriteWord); } // Ожидаем нажатия клавиши ВВОД Console.ReadLine(); } }Листинг 3.2.