Раздел: Статьи / C# /

Типы данных в Си Шарп

Си Шарп для начинающих C# для начинающих

C# - это достаточно простой, но в то же время мощный язык программирования. Несмотря на то, что он относительно молодой (по сравнению, например, с такими “аксакалами”, как Паскаль или С/С++), он прочно занял своё место под солнцем, и программисты C# пользуются высоким спросом. Подробнее...

C# - это типизированный язык. То есть при объявлении переменных необходимо указывать для них тип данных.

Типы данных в Си Шарп, как и в других языках, можно разделить на несколько групп. Но сначала попробую сгруппировать типы без привязки к какому-либо языку:

  • Порядковые (их также можно назвать простыми). Это самые простые типы, такие как целые числа и отдельные символы.
  • Вещественные. Это вещественные (действительные) числа, то есть числа с дробной частью.
  • Сложные (ну это я их так называю). Сюда можно включить, например, массивы, строки, файлы и т.п.
  • Пользовательские. Ну а сюда я включаю всё остальное - классы, объекты, структуры…

Начинать будем с порядковых (но не сегодня - сегодня только вводная часть), суть которых я объяснил здесь, поэтому повторяться не буду (правда, там речь идёт не о C#, а о Паскале, но в данном случае это значения не имеет).

А теперь чуть подробнее состав типов данных в моём видении. Итак…

Простые типы данных

Сюда можно отнести такие типы данных, как числовые (целые числа), логические, а также символьные (но не строковые, хотя строковые типы обычно тоже относят к простым, но они не могут быть порядковыми).

Вроде как для целых чисел достаточно одного типа данных. Однако в компьютерном мире всё не так просто. Например, если бы в языке был только один тип данных, то нам пришлось бы делать его с большим запасом, чтобы в него поместились любые числа, в том числе и очень большие. И нам пришлось бы для каждого числа выделять 4 или даже 8 байтов, даже если мы уверены, что значение нашей переменной всегда поместится в один байт.

К тому же числа могут быть как отрицательными, так и положительными. И не всегда в программе какая-то переменная может принимать и отрицательное, и положительное значение. Много случаев, когда мы точно знаем, что значение переменной не будет отрицательным на протяжении всей программы.

Поэтому в языках программирования для целых чисел всегда имеется несколько типов данных. И C# не исключение.

Вещественные типы данных

Далеко не всегда, особенно в различных вычислениях, можно обойтись целыми числами. Поэтому, конечно, в любом языке программирования имеются вещественные типы данных, которые могут работать с действительными числами (числами с дробной частью).

Таких типов в языке обычно намного меньше, чем целочисленных. А на практике обычно используются лишь 2-3 типа.

Сложные типы данных

Сложными я их называю потому, что новичкам они обычно даются труднее для понимания. Например, к сложным типам я отношу указатели, но не потому, что этот тип сложный, а потому, что новичкам часто трудно понять, как с указателями работать.

К сложным я отношу и строки (хотя это самое простое из сложных типов), массивы, множества, файлы - такие типы есть почти во всех языках программирования.

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

Это могут быть коллекции (в C#), словари, списки, какие-то особые типы для особых случаев (например, для работы с комплексными числами или с матрицами) и т.п.

Пользовательские типы данных

Пользовательские типы данных - это типы, которые создаёт сам пользователь (точнее, программист - пользователь языка). Например, это могут быть перечисления, или структуры (записи в Паскале). Также классы и объекты могут быть созданы пользователем (хотя существует и немало данных этих типов, встроенных в язык).

Типы данных в C#

Ну а если говорить не о языках программирования вообще, а именно о Си Шарп, то в литературе, как это не удивительно, очень редко встречается классификация типов. Но я нашёл вот такую, от которой, пожалуй, можно оттолкнуться…

В C# существует две разновидности типов переменных, каждая из которых содержит несколько “подразновидностей”:

  • Типы-значения:
    • простые
    • перечисляемые
    • структурные
    • обнуляемые
  • Ссылочные типы:
    • классы
    • интерфейсы
    • массивы
    • делегаты

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

Си Шарп имеет единую систему типов, так что значение любого типа может использоваться как объект. Любой тип в C# прямо или косвенно наследуется от типа object, и object является исходным базовым классом всех типов. Значения ссылочных типов рассматриваются как объекты просто путем их представления как величин типа object. Значения типов-значений преобразуются в объекты с помощью выполнения операций упаковки и распаковки.

Но это уже другая история. А вводную часть на этом закончим. Подписывайтесь на новости, чтобы ничего не пропустить (ссылки внизу).


Факультет разработки на C# - профессиональное обучение Факультет разработки на C# - профессиональное обучение

Обучение с нуля с опытными преподавателями. Полноценный длительный курс по разработке на C#. Диплом по итогам обучения и 9 работ в портфолио. Помощь в трудоустройстве. Подробнее...
Помощь в технических вопросах Помощь в технических вопросах

Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика