Иллюстрированный самоучитель по Visual Basic .NET

Выражения, операторы и передача управления

  • Консольные приложения

    В этой главе представлен базовый "арсенал" VB.NET. Большая часть материала сводится к краткому обзору концепций, присущих всем языкам программирования (например, переменных и команд цикла), и описанию базовых типов данных, в основном различных чисел и строк.
  • Команды VB.NET. Комментарии.

    При вводе программ VB.NET во внешнем редакторе вы не сможете воспользоваться средствами IntelliSense. Мы рекомендуем использовать IDE, поскольку технология IntelliSense значительно упрощает программирование в такой сложной среде, как .NET (конечно, для этого вам придется перейти от бесплатно распространяемого .NET SDK к Visual Studio).
  • Переменные и присваивание

    Имена переменных в VB.NET имеют длину до 255 символов и обычно начинаются с буквы в кодировке Unicode (за дополнительной информацией о Unicode обращайтесь на сайт www.unicode.org), хотя также допускается символ подчеркивания.
  • Литералы и их соответствие типам данных

    Литералом называется последовательность символов, которая может интерпретироваться как значение одного из примитивных типов. Но с типами (даже примитивными) в VB.NET дело обстоит несколько сложнее, чем в более ранних версиях VB.
  • Объявление переменных

    В VB.NET, как и в VB6, переменные объявляются в процедурах и функциях при помощи ключевых слов Dim и As, а присваивание выполняется знаком =: | Dim foo As String | foo = "bar" | Если вы не изменяли стандартную настройку VB.NET, переменные должны объявляться перед использованием (режим Option Explicit, впервые представленный в VB4, теперь используется по умолчанию).
  • Преобразования разнотипных значений

    По мнению многих программистов, прежние версии VB6 слишком либерально относились к преобразованию типов. В результате возникало явление "злостного искажения типов" – скажем, VB6 позволял умножить строковое представление числа на Integer.
  • Строки. Строковые функции.

    Строковая переменная содержит текст в кодировке Unicode длиной до 231 (более 2 миллиардов!) символов. Как было показано выше, значения строкового типа заключаются в кавычки: | Dim message As String | message = "Help" | Конкатенация (объединение) строк обычно выполняется оператором &.
  • Форматирование данных

    Все функции форматирования возвращают новую строку в заданном формате. В VB.NET сохранены аналоги старых функций форматирования из VB6 и VBScript, поэтому вы можете продолжать использовать функции Format, FormatNumber, FormatCurrency, FormatPercent и FormatDateTime.
  • Математические операторы

    В табл. 3.7 приведены условные обозначения шести базовых математических операций. | Примечание | Результат стандартного деления (/) всегда относится к типу Double, даже в случае де-ления без остатка. Результат целочисленного деления (\) всегда относится к типу Integer.
  • Круглые скобки и приоритет операций

    При обработке сложных выражений последовательность выполнения операций задается двумя способами. При использовании круглых скобок вам не придется запоминать приоритеты различных операций. В VB.NET, как и во многих языках программирования, операции обладают приоритетом, определяющим последовательность их выполнения. | Умножение обладает более высоким приоритетом, чем сложение;
  • Математические функции и математические константы

    Встроенные математические функции VB6 работают и в VB.NET, но мы предпочитаем использовать методы класса Math, входящего в .NET Framework. В этот класс также входят некоторые полезные константы (например, Math.PI и Math.Е). Основные математические функции класса Math перечислены в табл. 3.9.
  • Константы. Циклы.

    VB.NET позволяет создавать именованные константы для значений, остающихся постоянными на протяжении всей работы программы. Константы объявляются по аналогии с переменными, а их имена подчиняются тем же правилам: до 255 символов, начинаются с буквы, после которой следует произвольная комбинация букв, цифр и символов подчеркивания. В книге имена констант записываются прописными буквами.
  • Цикл с определенным условием

    Цикл, выполняемый заданное количество раз, определяется при помощи ключевых слов For и Next.
  • Циклы с неопределенным условием

    Довольно часто условие продолжения цикла зависит от результатов, полученных в теле цикла. Следующая конструкция используется в VB.NET для построения цикла с неопределенным условием, тело которого выполняется минимум один раз (завершающая проверка): | Do | ' Команды VB.NET (0 и более) | Until условие_выполняется | Конечно, условие не ограничивается простой проверкой равенства.
  • Условные команды и принятие решений. Изменения в видимости переменных. Ускоренная проверка.

    В VB.NET условная команда If, как и в VB6, существует в двух версиях – однострочной и многострочной: | If X < 0 Then Console.WriteLine("Number must be positive!") | Условие конструкции If-Then может содержать логические операторы And, Or и Not.
  • Select Case. GoTo.

    В качестве альтернативы для громоздких конструкций с множеством Elself в VB.NET была сохранена команда Select Case, упрощающая принятие решений в зависимости от состояния числовой или строковой переменной. Пример: | Select Case average | Case Is > 90 | Console.WriteLine("A") | Case Is > 80 | Console.
  • Логические операторы. Массивы.

    Начиная с бета-версии 2 логические операторы (Not, And, Or и т. д.) работают на уровне двоичных разрядов, как и в прежних версиях VB. Допустим, у вас имеются два целых числа X и Y. Каждый бит результата X And Y равен 1 лишь в том случае, если равны 1 соответствующие биты обоих операндов;
  • Массивы с индексацией элементов в заданном интервале. Цикл For-Each.

    Утверждение о том, что индексация массивов всегда начинается с 0, не совсем точно. Теоретически можно определять массивы с заданной верхней и нижней границей индекса, но из-за неудобного синтаксиса и снижения быстродействия вряд ли вам захочется это делать.
  • Многомерные массивы. Процедуры и функции.

    Массивы не ограничиваются одним измерением. Допустим, вы хотите сохранить таблицу умножения в матричном виде.
  • Функции

    Чтобы создать новую функцию или процедуру в окне программы, установите курсор за пределами других процедур и функций и начинайте вводить заголовок процедуры или функции. Как только вы нажмете клавишу Enter, редактор IDE автоматически создаст команду End правильного типа (End Function или End Sub).
  • Процедуры. Преждевременный выход из функций или процедур.

    В отличие от функций, процедуры не возвращают конкретных значений. Вызов процедур осуществляется по имени. Непустые списки аргументов всегда заключаются в круглые скобки.
  • Передача массивов функциям и процедурам. Процедуры и функции с необязательными аргументами.

    В VB.NET, как и в прежних версиях VB, существуют удобные средства для работы с одномерными и многомерными массивами в процедурах и функциях. Впрочем, существуют некоторые нюансы, обусловленные передачей по ссылке и по значению; мы рассмотрим их в главе 4.
  • Именованные аргументы. Рекурсия.

    При вызове функций и процедур с большим количеством параметров (особенно необязательных) существует такая элегантная возможность, как передача именованных аргументов. Если значения параметров при вызове передаются в виде "имя – : = значение", вам не придется беспокоиться о соблюдении порядка аргументов (регистр символов в именах игнорируется).
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.