Скачиваний:
1
Добавлен:
04.09.2023
Размер:
1.17 Mб
Скачать

6 Основные типы данных

В C# имеются две общие категории встроенных типов данных: типы значений (value type) и ссылочные типы (reference type).

Понятие «встроенные типы данных» означает, что для определения переменной выбранного типа достаточно указать одно из ключевых слов, указанных в прямоугольниках, и через пробел идентификатор переменной (double d)

Описание различных типов

В переменных ссылочных типов хранятся ссылки на их данные (объекты), а переменные типа значений содержат свои данные непосредственно.

Ссылочные типы:

object: представляет тип общего назначения (general purpose type). В C# все предопределенные типы и заданные пользователем типы наследуются от типа object или класса System.Object.

string: представляет строку символов Unicode (стандарт кодирования символов). Позволяет просто манипулировать строками и назначать их. Строки не являются мутируемыми (они immutable), т. е. будучи созданными, они не могут быть модифицированы.

Численные типы данных. Назначение. Разрядность. Диапазон значений

bool: хранит одно из двух возможных значений: true или false. Использование типа bool - одна из областей, где C# отличается от наследия C и С++. В языках C и C++ целое число 0 было синонимом false, и любое ненулевое значение было синонимом true. Однако в C# тип bool не является синонимом целого типа. Вы не можете сконвертировать переменную целого типа в эквивалентную переменную bool.

float: хранит 32-битное число с плавающей запятой, со знаком. Диапазон значений от 1,5 * 10-45 до 3,4 * 1038

double: хранит 64-битное число с плавающей запятой, со знаком. Диапазон значений от 5 * 10-324 до 1,7 * 10308.

decimal: хранит 128-битное число с плавающей запятой, со знаком. Переменные типа decimal хорошо подходят для финансовых вычислений.

Переменные и константы

Переменная – это именованная область памяти. В переменную можно записывать данные и считывать. Данные, записанные в переменной, называются значением переменной.

Константа – это переменная, значение которой нельзя изменить. Константы используются для гарантирования того, что данные в этой переменной не изменятся.

7 Символы и строки. Символы, строки и массивы строк. Операции над строками

Термин символ используется здесь в общем смысле того, что читатель воспринимает как отдельный отображаемый элемент.

То, что выглядит как один символ, может быть результатом комбинации нескольких кодовых точек. Таким образом, более описательным термином, который часто используется вместо термина "символ", является кластер графем. В .NET эквивалентным термином является текстовый элемент.

Строка — это объект типа String, значением которого является текст. Внутри программы текст хранится в виде упорядоченной коллекции объектов Char только для чтения. В конце строки C# нет символа, завершающего значение NULL; поэтому строка C# может содержать любое количество внедренных символов NULL ('\0'). Свойство Length строки соответствует числу содержащихся в ней объектов Char, но не числу символов Юникода. Для доступа к отдельным кодовым точкам Юникода в строке используйте объект StringInfo.

Массив — это структура данных, содержащая ряд переменных, к которым осуществляется доступ с помощью вычисляемых индексов. Все содержащиеся в массиве переменные, также называемые элементами массива, относятся к одному типу. Этот тип называется типом элемента массива.

Сами массивы имеют ссылочный тип, и объявление переменной массива только выделяет память для ссылки на экземпляр массива. Фактические экземпляры массива создаются динамически во время выполнения с помощью оператора new. Операция new задает длину нового экземпляра массива, который затем фиксируется на время существования экземпляра. Элементы массива имеют индексы в диапазоне от 0 до Length - 1. Оператор new автоматически инициализирует все элементы массива значением по умолчанию. Например, для всех числовых типов устанавливается нулевое значение, а для всех ссылочных типов — значение null.

Операции над строками:

  • создание экземпляра объекта string

  • объявление и инициализация строк;

  • доступ к отдельным символам (Используя нотацию массива со значением индекса, можно получить доступ только для чтения к отдельным символам);

  • интерполяция строк C# позволяет форматировать строки путем определения выражений, результаты которых помещаются в строку формата;

  • разделение строк на подстроки: Метод String.Split создает массив подстрок, разбивая входную строку по одному или нескольким разделителям. Этот метод зачастую является самым простым способом разделить строку по границам слов. Он также используется для разбиения строк по другим конкретным символам или строкам;

  • объединение строк: Объединение подразумевает добавление одной строки к концу другой. Вы можете сцеплять строки с помощью оператора +. Строковые литералы и константы сцепляются во время компиляции, а не во время выполнения. Строковые переменные сцепляются только во время выполнения;

  • поиск по строкам: поиск определенного текста. Операции: Содержит ли строка текст; где искомый текст находится в строке; Поиск определенного текста с помощью регулярных выражений; Соответствует ли строка шаблону;

  • изменение содержимого строк: возвращают результат изменений как новый объект string. Операции: Замена текста; усечение пробелов; удаление текста; замена совпадающих шаблонов; Изменение отдельных символов;

  • сравнение строк: Сравнения используются для сортировки последовательности строк. Операции: Порядковые сравнения по умолчанию; Порядковые сравнения без учета регистра; Лингвистические сравнения; Лингвистическая сортировка и поиск строк в массивах; Порядковая сортировка и поиск в коллекциях; Равенство ссылок и интернирование строк