Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lektsia_2VP

.pdf
Скачиваний:
11
Добавлен:
27.05.2015
Размер:
443.96 Кб
Скачать

public struct Coordinate // тип значения

{

public int x; public int у;

}

public class EntryPoint // ссылочный тип

{

public static void AttemptToModifyCoord(Coordinate coord)

{

coord.x = 1; coord.у = 3;

}

public static void ModifyCoord(ref Coordinate coord)

{

coord.x =10; coord.у = 10;

}

11

static void Main()

{

Coordinate location; location.x = 50; location.у = 50;

AttemptToModifyCoord(location);

System.Console.WriteLine("({0}, {1})", location.x, location.у);

ModifyCoord(ref location);

System.Console.WriteLine("({0}, {1})", location.x, location.у);

}

}

//Вывод на консоль будет следующим:

//(50, 50) (10, 10)

12

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

Лежащий в основе enum тип должен быть целочисленным, т.е. одним из следующих:

byte, sbyte, short, ushort, int, uint, long или ulong.

13

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

public enum Color : long

{

Red, Green = 50, Blue

}

14

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

static void Main()

{

Color color = Color.Red;

Console.WriteLine("Color is {0}", color.ToString());

}

15

Инициализация переменных по умолчанию

Для ссылок на объекты это соответствует null-ссылке, а для типов значений - нулевому значению (или false для булевского типа).

16

Неявно типизированные локальные переменные

using System;

using System.Collections.Generic; public class EntryPoint

{

static void Main()

{

var myList = new List<int>(); myList.Add(1); myList.Add(2); myList.Add(3);

foreach (var i in myList)

{

Console.WriteLine(i);

}

}

}

17

Неявно типизированные локальные переменные

var newValue;

выдаст ошибку Implicitly typed locals must be initialized

18

Преобразования типов

int defaultValue = 12345678; long value = defaultValue; int smallerValue = (int)value;

19

Ковариантность массивов

public class EntryPoint

{

static void Main()

{

string[] names = new string[4]; object[] objects = names;

//оператор с неявным преобразованием string[] originalNames=(string[])objects;

//оператор с явным преобразованием

}

}

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]