ниями. Поэтому переменная типа string, то есть текстовая переменная, является объектом (точнее, ссылкой на объект класса string). И для

нас все это пока абсолютно не важно.

40

Глава 1. Информация к размышлению: язык C# и даже больше

После того как мы объявили текстовую переменную name, ее можно ис-

пользовать. Значение этой переменной присваивается командой name=

= Inter action.InputBox("Как Вас зовут?","Давайте познакомимся"). Это

команда присваивания. Основу ее составляет оператор присваивания =

(знак равенства). Переменной слева от оператора присваивания (в дан-

ном случае это переменная name) присваивается значение выражения, ука-

занного справа от оператора присваивания. Справа выражение немного

странное, но тем не менее не лишенное смысла. Из класса Interaction вы-

зывается метод InputBox(). Как следствие, на экране появится диалоговое

окно с полем ввода. В качестве результата метода возвращается текстовое

значение, которое пользователь введет в это поле ввода. Собственно, это

значение и записывается в переменную name. Текстовые аргументы метода

InputBox() определяют текст в области окна (текст над полем ввода) и на-

звание для окна (отображается в строке заголовка).

ПРИМЕЧАНИЕ Тестовые значения (литералы) в программном коде заключаются

в двойные кавычки.

Далее следуют две разные, но в то же время и очень одинаковые коман-

ды (если смотреть в корень): string msg="Очень приятно, "+name+"!"

и string title="Окно приветствия". В обоих случаях объявляются и одно-

временно с объявлением инициализируются текстовые переменные msg и title. С переменной title вообще все просто — в качестве значения пере-

менной указан текст в двойных кавычках. Значение переменной msg вычис-

ляется несколько сложнее: объединяется в одну строку текст "Очень при­

ятно, ", текстовое значение переменной name и текст "!".

ПРИМЕЧАНИЕ Если оператор сложения «+» применяется по отношению к текстовым

строкам, в результате мы имеем новую строку, которая получается

объединением соответствующих текстовых фрагментов.

Также обратите внимание на то, что текстовым переменным msg и title значение  присваивается  одновременно  с  их  объявлением.  Для  C#

это нормальная практика, причем не только в отношении текстовых

значений. Более  того,  значение переменной msg  определяется на

основе значения переменной name. Это так называемая динамиче-

ская инициализация переменной — при объявлении переменной ей

присваивается значение, вычисляемое на основе значения другой

переменной  (или  переменных).  Переменные,  на  основе  которых

выполняется динамическая инициализация, должны быть предвари-

тельно описаны, и им должно быть присвоено значение.

Еще одна простая программа           41

Окно приветствия отображается командой MessageBox.Show(msg,title,Mes sageBoxButtons.OK,MessageBoxIcon.Warning). В принципе, с методом Show() класса MessageBox мы уже знакомы, но здесь аргументы передаются методу

несколько специфично. Первые два текстовых аргумента определяют, со-

ответственно, текст, который будет отображаться в окне приветствия (пе-

ременная msg), и заголовок окна приветствия (переменная title). Следую-

щие два аргумента — константы, которые определяют количество кнопок

в окне и тип пиктограммы, которая отображается в области окна вместе

с текстом.

Константа  от  обычной  переменной  отличается  тем,  что  значение

переменной в программном коде изменить можно, а значение кон-

станты — нельзя.

Константа OK является одним из возможных значений перечисления Message BoxButtons и означает, что в окне будет всего одна кнопка — кнопка

OK.

Перечисление — это особый тип данных. Переменная, которая от-

носится к типу перечисления, может принимать одно из значений-

констант,  входящих  в  перечисление.  Каждая  константа  из  пере-

числения  имеет  собственное  имя.  Это  имя  указывается  вместе

с  именем  перечисления  —  через  точку.  Например,  инструкция

MessageBoxButtons.OK  означает  константу  OK  из  перечисления

MessageBoxButtons.  Перечисления  мы  будем  обсуждать  отдельно, но несколько позже. Пока нам важно запомнить, какую константу

в каких случаях можно использовать.

В свою очередь, константа Warning из перечисления MessageBoxIcon озна-

чает, что в области окна будет отображаться пиктограмма «предупрежде-

ния»: восклицательный знак в желтом треугольнике.

ПРИМЕЧАНИЕ Раньше нам уже встречался термин «перегрузка методов». В данном

случае мы имеем дело как раз с ней: при вызове метода Show() аргу-

менты ему можно передавать по-разному, что значительно облегчает

работу программиста.

При запуске программы на экране появляется диалоговое окно, как на

рис. 1.12.

42

Глава 1. Информация к размышлению: язык C# и даже больше

Рис. 1.12.  Окно с полем ввода имени пользователя

В поле ввода этого окна указываем имя и щелкаем на кнопке OK. В резуль-

тате первое окно закроется, а вместо него появится второе (рис. 1.13).

Рис. 1.13.  Окно приветствия с именем пользователя

Перейти на страницу:

Похожие книги