Вы находитесь на странице: 1из 14

The C# Programming Language

Essential

Структуры и их разновидности. Перечисления


Упаковка-Распаковка
Boxing / UnBoxing

Упаковка представляет собой процесс преобразования структурного типа в тип


object или любой другой тип интерфейса, реализуемый этим типом. Операция
распаковки извлекает структурный тип из объекта.

2
Упаковка
Boxing

Упаковка-преобразование является неявным:

Stack Heap

Object
static void Main()
{ Boxing
int item = 10; In Stack obj=10
item=10
Boxing
object obj = item; In Heap
}

Стек (англ. stack — стопка) — структура данных с методом доступа


к элементам Last In — First Out «последним пришел — первым
вышел».
3
Упаковка
UnBoxing
Распаковка-преобразование является явным.

Stack Heap

Object

static void Main() UnBoxing


{ item2=10 obj=10
int item = 10; In Stack Boxing
object obj = item; Boxing
In Heap item=10
int item2 = (int)obj UnBoxing
}
In Stack

4
Ковариантность
Array Covariant

Ковариантность не применима к массивам элементов структурных типов.

static void Main()


{
Dog[] dogs = { new Dog(), new Dog(), new Dog() };

//IAnimal[] animal = dogs; // Ковариантность.


//dogs = array; // Контрвариантность.

int[] vector = new int[3] { 1, 2, 3 };


//object[] array = vector; // Ковариантность
}

5
Дата и время
DateTime

• Структура DateTime представляет текущее время, обычно выраженное как дата


и время суток.

• Тип значения DateTime представляет дату и время в диапазоне от 00:00:00


1 января 0001 года (н. э.) и до 23:59:59 31 декабря 9999 года (н. э.)

DateTime.Now - возвращает объект System.DateTime, которому


присвоены текущие дата и время суток данного компьютера.

6
Перечисление
Enum
Перечисление - это конструкция языка которая содержит в себе набор
именованных констант, которые хранят в себе определённое значение.

Причисления наследуется от Enum , который наследуется от ValueType по этому


они относятся к категории структурных типов.

7
Перечисления
Тип перечисления

Перечислимый тип определяется как набор идентификаторов, с точки зрения


языка играющих ту же роль, что и обычные именованные константы, но связанные
с этим типом.
enum EnumType : byte
{
Zero = 0,
One = 1,
Two = 2,
Three = 3
}

Явно указан тип перечисления byte

Рекомендуется использовать int как основной тип перечисления.

8
Перечисления
Преимущества

Использование перечислений позволяет сделать исходные коды программ


более читаемыми, так как позволяют заменить «магические числа»,
кодирующие определённые значения, на читаемые имена.

9
Перечисления
Рекомендации

«Непродуманное использование перечислений приводит к демографическому


взрыву среди типов, что, в свою очередь, ведёт не к ясности программ, а к
многословию»
(Никлаус Вирт)

10
Q&A

11
ПРОВЕРКА ЗНАНИЙ
Тестирование IT-специалистов
TestProvider обеспечивает надежную
и объективную оценку технических знаний
и опыта работы IT-специалиста с программными
продуктами Microsoft.

Сертификация IT-специалистов
Подтвердите ваш практический опыт работы с
технологиями Microsoft, получив сертификацию,
Перейти к тестированию соответствующую той работе, которую вы
www.TestProvider.com выполняете сейчас или желаете получить в
будущем.

Компании Microsoft, CyberBionic Systematics и Intel на базе портала TestProvider компании CyberBionic Systematics с использованием
платформы Microsoft Azure совместно с Министерством науки и образования Украины проводят Всеукраинское дистанционное
мониторинговое исследование уровня сформированности у выпускников учебных заведений навыков использования
информационно-коммуникативных технологий в практической деятельности.

12
КУРС: С# Professional
Курс рекомендован Дорогие студенты школы CyberBionic Systematics,
Джеффри Рихтером
Курс “C# для профессионалов” включает темы, которые излагаются в моей книге
«CLR via C#» и учит, как работает CLR, показывая вам как строить приложения и
повторно используемые компоненты для .NET Framework. Этот курс не
предназначен для начинающих программистов; вам необходимо базовое
понимание Объектно-Ориентированного Программирования и опыт работы с
языком C# (а не только элементарное понимание синтаксиса).
Я считаю, что вы найдете много информации о свойствах CLR и о том как
использовать современные методы программирования в школе CyberBionic
Systematics.
Желаю вам всего самого наилучшего в вашей карьере,
Джеффри Рихтер, автор книги «CLR via C#»

Описание курса:
Курс дает возможность глубже освоить возможности языка
C# и изучить основные библиотеки платформы .NET
Framework. Курс поможет освоить возможности языка,
которые используются при профессиональном
проектировании и разработке программного обеспечения.
Курс будет полезен программистам с опытом
программирования на C#.

Длительность:
40 часов/20 дней.

Узнать более подробно о курсе на сайте: www.edu.cbsystematics.com

13
14

Вам также может понравиться