На этом шаге мы рассмотрим организацию такого ввода.
Информацию можно вводить не только через окно с полем ввода, но и через консольные устройства: набирая значение с помощью клавиатуры (с отображением в консольном окне). Далее мы рассмотрим пример, в котором показано, как в программе может быть реализован консольный ввод. Программа похожа на программу из предыдущего шага: пользователь вводит текст, и затем появляется сообщение, содержащее этот текст. Но в предыдущем примере текст вводился в поле диалогового окна, и сообщение появлялось в диалоговом окне. Теперь для ввода и вывода информации мы используем консольное окно. Нам понадобится статический метод ReadLine() из класса Console для считывания введенного пользователем текста. Для вывода сообщений в консольное окно мы используем статические методы Write() и WriteLine() из класса Console. Различие между методами Write() и WriteLine() в том, что методом Write() в консольном окне отображается значение аргумента (например, текст) и курсор остается в той же строке. То есть следующее сообщение появится в той же строке, в которую выводилось предыдущее сообщение. Методом WriteLine() отображается значение аргумента в консольном окне, и по завершении отображения выполняется переход к новой строке: следующее сообщение появится в новой строке. Далее рассмотрим программный код.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace pr12_1 { class Program { static void Main(string[] args) { // Текстовая переменная: string name; // Заголовок консольного окна: Console.Title = "Давайте познакомимся..."; // Сообщение в консоли: Console.Write("Как Вас зовут?"); // Считывание текста: name = Console.ReadLine(); // Еще одна текстовая переменная: string txt = "Очень приятно, " + name + "!"; // Заголовок консольного окна: Console.Title = "Знакомство состоялось"; // Сообщение в консоли: Console.WriteLine(txt); } } }
В программе используется класс Console, поэтому мы подключаем пространство имен System, к которому относится этот класс.
В главном методе программы командой string name объявляется текстовая переменная name. Эта переменная используется для запоминания текста, введенного пользователем. Командой
Console.Title = "Давайте познакомимся...";
У класса Console есть свойство Title, определяющее название, отображаемое в консольном окне. По умолчанию при запуске программы на выполнение в названии консольного окна отображается путь к файлу программы. Присвоив значение свойству, мы определяем название, которое отображается в строке названия консольного окна. Более детально свойства обсуждаются в контексте изучения классов и объектов.
Командой
Console.Write("Как Вас зовут?");
Рис.1. Сообщение в консольном окне и ожидание ввода пользователя
Программа ожидает, пока пользователь введет значение (текст). Следует ввести текст (имя пользователя) и нажать клавишу Enter. На рисунке 2 показана ситуация, когда пользователь ввел текст, но еще не нажал клавишу Enter.
Рис.2. Консольное окно с введенным текстом перед нажатием клавиши Enter
Считывание введенного пользователем текста выполняется командой
name = Console.ReadLine();
string txt = "Очень приятно, " + name + "!";
После этого командой
Console.Title = "Знакомство состоялось";
Console.WriteLine(txt);
Рис.3. Консольное окно после отображения сообщения с текстом, введенным пользователем
В этом и рассмотренном на предыдущем шаге примере с вводом значения через окно с полем ввода мы считывали текст. По часто возникает необходимость считывать значения и других типов.
На следующем шаге мы рассмотрим считывание чисел.