На этом шаге мы рассмотрим организацию чтения чисел.
При считывании введенного пользователем значения с помощью метода ReadLine() (при консольном вводе) или метода InputBox() (при вводе через поле в диалоговом окне) значение, введенное пользователем, считывается как текст - даже если это число. Проще говоря, если пользователь введет, например, целочисленное значение, то считано оно будет как текст, состоящий из цифр (это называется текстовое представление числа). Чтобы "извлечь" из такого текста число, необходимо использовать специальные методы. Для получения целочисленного значения на основе его текстового представления используют статический метод Parse() из структуры Int32 (структура относится к пространству имен System).
Аргументом методу передается текстовое представление числа, а результатом метод возвращает собственно число, "спрятанное" в тексте. Небольшой пример считывания целочисленного значения с помощью диалогового окна с полем ввода представлен в примере ниже. Программа, которая представлена там, при выполнении отображает диалоговое окно с полем ввода, в которое пользователю предлагается ввести год своего рождения. Год рождения считывается, и на основе этой информации вычисляется возраст пользователя. А теперь рассмотрим код программы.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.VisualBasic; using System.Windows.Forms; namespace pr13_1 { class Program { static void Main(string[] args) { // Текстовые переменные: string res, txt; // Целочисленные переменные: int year = 2020, age, born; // Отображение окна с полем ввода: res = Interaction.InputBox("В каком году Вы родились?", "Год рождения"); // Преобразование текста в число: born = Int32.Parse(res); // Вычисление возраста: age = year - born; txt = "Тогда Вам " + age + " лет"; // Окно с сообщением: MessageBox.Show(txt, "Возраст"); } } }
В программе подключаются пространства имен System, Microsoft.VisualBasic и System.Windows.Forms. В главном методе объявляются текстовые переменные res и txt (команда string res, txt). Также объявляются три целочисленные переменные year, age и born (команда int year=2020, age, born), причем переменной year сразу присваивается значение 2020. Для определения типа мы использовали идентификатор int, обозначающий целочисленный тип: переменные такого типа значением могут принимать целые числа.
Командой
res = Interaction.InputBox(В каком году Вы родились?", Год рождения");
Рис.1. Диалоговое окно с полем для ввода целого числа
Введенное пользователем число в виде текстового значения запоминается с помощью переменной res. Для получения числового значения мы используем команду
born = Int32.Parse(res);
Для вычисления возраста пользователя выполняется команда
age = year - born;
txt = "Тогда Вам " + age + " лет"; ,
MessageBox.Show(txt, "Возраст");
Рис.2. Диалоговое окно с сообщением, содержащим возраст пользователя
После закрытия диалогового окна выполнение программы завершается.
На следующем шаге мы рассмотрим форматированный вывод.