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

Слайд 2

Перечисления enum AlbumType { EP, // 0 COMPILATION, // 1 SINGLE,

Перечисления

enum AlbumType
{
EP, // 0
COMPILATION, // 1
SINGLE,

// 2
DOUBLE // 3
}

enum AlbumType : byte
{
EP = 1, // 1
COMPILATION = 2, // 2
SINGLE = 4, // 4
DOUBLE = 8 // 8
}

Слайд 3

Перечисления // присвоение значения переменной перечисляемого типа AlbumType aType = AlbumType.COMPILATION;

Перечисления

// присвоение значения переменной перечисляемого типа
AlbumType aType = AlbumType.COMPILATION;
Console.WriteLine( aType

);
// преобразование: перечисляемый тип <-> порядковый тип
aType = (AlbumType)3;
Console.WriteLine( (byte)aType );
Слайд 4

Структуры struct Album { public string name; public string artist; public

Структуры

struct Album
{
public string name;
public string artist;
public short year;
public byte totalMin;
public

byte totalSec;
}

Album alb1;
alb1.artist = "Yes";
alb1.name = "Fragile";
alb1.year = 1972;
alb1.totalMin = 39;
alb1.totalSec = 8;

Слайд 5

Структуры struct Album { public string name; public string artist; public

Структуры

struct Album
{
public string name;
public string artist;
public

short year;
public byte totalMin;
public byte totalSec;
public AlbumType type; // еще тип альбома - перечисляемый
public string totalTime() // можно и функции добавлять
{
return string.Format( "{0:00}:{1:00}", totalMin, totalSec );
}
}
Слайд 6

Массив структур Album[] albums = new Album [10]; Album alb; alb.artist

Массив структур

Album[] albums = new Album [10];
Album alb;
alb.artist = "Yes";
alb.name =

"Fragile";
alb.year = 1972;
alb.totalMin = 39;
alb.totalSec = 8;
alb.type = AlbumType.SINGLE;
albums[0] = alb;
alb.artist = “Genesis";
alb.name = “Duke";
alb.year = 1980;
alb.totalMin = 45;
alb.totalSec = 19;
alb.type = AlbumType.SINGLE;
albums[1] = alb;
// ...
Слайд 7

Дата/время DateTime работа с годами, месяцами, днями, днями недели, часами, минутами,

Дата/время

DateTime
работа с годами, месяцами, днями, днями недели,
часами,

минутами, секундами, миллисекундами
DateTimeOffset
добавлена возможность учета часовых поясов
TimeSpan
тип данных, отвечающий за промежутки времени