- •1.Структура программы
- •1.1. Типы данных
- •1.1.1. Целые типы
- •1.1.2. Дробные (вещественные) типы
- •1.1.3. Логический тип
- •1.1.4. Строковый тип
- •1.1.5. Арифметические операторы
- •1.1.6. Нечисловые простые типы
- •1.1.7. Текстовые типы
- •2. Операторы ввода/вывода
- •2.1. Операторы ввода
- •2.2. Операторы вывода
- •2.3. Форматированный вывод
- •3. Логические выражения
- •3.1. Операции сравнения
- •3.2.1.Поразрядные операции » и «
- •3.2.2.Булевские операции присваивания
- •4.Ветвления
- •4.1. Тернарная операция
- •4.2.1. Оператор if
- •4.2.1. Внутристроковый условный оператор
- •4.3.1. Оператор switch
- •5. Организация циклов
- •5.1.Циклы do
- •5.2. Циклы while
- •5.3. Циклы for
- •5.4. Прерывание циклов
- •5.5. Бесконечные циклы
- •6. Преобразование типов
- •6.1. Неявное преобразование
- •6.2. Явное преобразование
- •6.3. Явные преобразования с помощью команд Convert
- •7. Массивы
- •7.1. Объявление массива
- •7.2 Циклы foreach
- •7.3. Многомерные массивы
- •7.4. Массивы массивов
- •8.Строки
- •8.Структуры (доделать)
- •9.Функции и процедуры
- •10.Метод Main()
- •11.Работа с файлы
- •12.Обработка ошибок и исключений(try.. .Catch.. .Finally)
6.3. Явные преобразования с помощью команд Convert
Команды для явных преобразований
|
Команда |
Результат |
|
Convert.ToBoolean(Var1) |
Var1, преобразованная в bool |
|
Convert.ToByte(Var1) |
Var1, преобразованная в byte |
|
Convert.ToChar(Var1) |
Var1, преобразованная в char |
|
Convert.ToDecimal(Var1) |
Var1, преобразованная в decimal |
|
Convert.ToDouble(Var1) |
Var1, преобразованная в double |
|
Convert.ToInt16(Var1) |
Var1, преобразованная в short |
|
Convert.ToInt32(Var1) |
Var1, преобразованная в int |
|
Convert.ToInt62(Var1) |
Var1, преобразованная в long |
|
Convert.ToSbyte(Var1) |
Var1, преобразованная в sbyte |
|
Convert.ToSingle(Var1) |
Var1, преобразованная в float |
|
Convert.ToString(Var1) |
Var1, преобразованная в string |
|
Convert.ToUInt16(Var1) |
Var1, преобразованная в ushort |
|
Convert.ToUInt32(Var1) |
Var1, преобразованная в uint |
|
Convert.ToUINT64(Var1) |
Var1, преобразованная в ulong |
Здесь на месте Var1 может указываться переменная практически любого типа (о том, могут ли данные команды работать с этим типом, будет сообщать сам компилятор).
7. Массивы
У всех рассмотренных до этого типов была одна общая черта: каждый из них
позволял хранить одно единственное значение (или один единственный набор
значений, если брать структуры). Однако бывают ситуации, в которых требуется сохранять
много данных, и в таких ситуациях эти типы переменных являются не очень
удобными. Иногда бывает необходимо сохранять несколько значений одного и того же типа одновременно без использования для каждого из них отдельной переменной.
7.1. Объявление массива
Объявляются массивы следующим образом:
< базовый_ тип>[] <имя>;
Здесь на месте <базовый_тип> может указываться любой тип переменных,
включая такие демонстрировавшиеся ранее в главе типы, как перечисления и структуры.
Массивы должны обязательно инициализироваться перед тем, как к ним можно будет
получить доступ.
Инициализировать массивы можно двумя способами: указанием всего
содержимого массива в литеральной форме либо указанием размера массива и применением
ключевого слова new для инициализации всех его элементов.
Спецификация массива с использованием литеральных значений подразумевает
предоставление заключенного в фигурные скобки списка разделенных запятыми
значений для элементов:
double[] Res = { 0.5, 2.1, 6.0, 4.3, 3.2 };
Здесь задается массив Res, состоящий из пяти элементов, каждому из
которых присваивается дробное значение.
Второй подход требует применения следующего синтаксиса:
int[] m = new int[n];
Здесь ключевое слово newиспользуется для явной инициализации массива, а
константное значение — для определения его размера. Такой подход приводит к
присваиванию все членам массива значения по умолчанию, каковым для числовых типов
является 0. Для такой инициализации можно также применять и переменные с
не константными значениями:
int[] m = new int[n];
При желании оба подхода можно комбинировать:
int[] Res =newint[5]{ 5, 2, 6, 4, 2 };
В случае применения такой техники размеры должны обязательно совпадать.
То есть использовать следующую строку кода нельзя:
int[] Res =newint[15]{ 5, 2, 6, 4, 2 };
Здесь массив определен как состоящий из 10 членов, но инициализированы
только 5 членов, поэтому компиляция не удастся. Побочным эффектом такого подхода
является еще и то, что если размер определяется через переменную, то эта переменная должна быть обязательно константной:
//Описание целочисленного массива из 5 элементов
const int n = 5;
int[] m = new int[n];
