Программирование на языке си ( с ) | C Sharp (Си шарп) с нуля. Сортировки | Массивы | Функции

Типы данных в C sharp ( си шарп ) — ссылочные | пользовательские | значимые типы

Типы данных в C sharp ( си шарп ) бывают - значимые и ссылочные. Хочу отметить, что разница в типах данных языков С/С++ и C sharp большая, поэтому знание типов обязательно. И так, давайте начнем по порядку:

   Значимые типы

Значимые типы делятся в свою очередь на:

  1. Встроенные типы
  2. Эти типы, которые нам любезно предоставляет Visuai Studio - System.Double (double), System.Byte (byte), System.Int32 (int), System.Char (char), System.Single (float). В скобках указаны псевдонимы - сокращенное название типов данных в C sharp ( си шарп ). Удобнее все-таки в коде писать именно псевдонимы, чем полные названия типов.

  3. Перечислимые
  4. Это сборка необходимых нам символов. Лучше всего в понимании перечислимого поможет пример:

    public enum typeTraine { skTrain, pasTrain, tTrain };

    Т.е. в этом примере мы создаем перечислимое видов поездов. (skTrain - скоростной, pasTrain - пассажирский, tTrain - транспортный)

    Обращение к элементу перечислимого происходит так же, как мы обращаемся к элементу класса - т.е. через точку:

    typeTraine ob = typeTraine.pasTrain;
    Console.WriteLine("{0}", ob);

    На экране будет слово - pasTrain

  5. Пользовательские типы
  6. А вот понятие пользовательские типы вам уже знакомо с языков С/С++. Т.е. это тип который создает сам пользователь, при чем пользовательский тип является структурой. И поэтому будет начинаться с ключевого слова - struct. Вот пример:

    struct fleshka {
       int color;
       int volume;
       public int fleshka(int _color, int _volume)
       {
          color = _color;
          volume =_volume;
       }
    }

    В отличие от языка С++ поля структуры являются по умолчанию закрытыми.

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

В отличие от значимых типов, ссылочные типы в стеке хранят не сами значения типов, а ссылки на них. Значения хранятся совершенно в другой области памяти, которая называется кучей.

Ссылочные типы, так же как и значимые бывают:

  1. Встроенные типы
  2. Просто приведу вам примеры встроенных ссылочных типов. Самым главным является тип System.Object. Этот тип данных в C sharp ( си шарп ) является, чуть ли не самым важным, так как в него можно преобразовать любой тип, будь то значимый или ссылочный.

    System.String - этот тип так же является весьма распространенным - все строковые значения обычно хранятся именно в этом типе данных. Ну и для хранения массивов, которые и являются сами по себе ссылочным типом, существует класс system.Array. Так же для обработки различных исключительных ситуаций в Visual Studio предусмотрен класс System.Exception.

  3. Пользовательские типы
  4. Тут на самом деле говорить многого не надо. Знаете, чем отличается класс от структуры в C sharp ( си шарп )? Ответом на этот вопрос и является тема "ссылочные | пользовательские | значимые типы данных в C sharp ( си шарп )".

    Если мы пишем ключевое слово класс, то у нас по умолчанию создается ссылочный тип. Т.е. в том примере, где мы создавали структуру fleshka, достаточно поменять ключевое слово struct на class и вуаля - ссылочный пользовательский тип готов.

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

Рекомендации к прочтению:

  1. Массивы. Одномерные и Многомерные
  2. Зубчатый массив и класс Array
  3. Различия ООП в среде .NET от ООП в языке С++
При копировании ( использовании ) материала размещайте ссылку на сайт www.mir-koda.ru