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

Типы данных

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

using System; class DataTypeTest

{

public int variableVal;

}

class DataTypeTestRef

{

static void Main()

{

DataTypeTest dataTest = new DataTypeTest(); dataTest.variableVal = 100; funcDataTypeTest(dataTest);

Console.WriteLine(dataTest.variableVal);

}

static void funcDataTypeTest(DataTypeTest dataTest)

{

int tempVar=10; dataTest.variableVal = tempVar*20;

}

}

Характеристики типов

данных и ссылочных типов

 

Значение(Value)

Ссылка

 

 

(Reference)

Переменная

Действительное

Ссылка

содержит

значение

 

Размещается

В стеке (Stack)

В памяти

 

 

(Heap)

Значение по

Нуль (Zero)

Нуль-

умолчанию

 

указатель

 

 

(Null)

Параметр

Копируется

Копируется

функции

значение

ссылка

Boxing и Unboxing

Boxing – это преобразование типа значений в ссылочный тип

Unboxing – это преобразование ссылочного типа в тип значение

Boxing и Unboxing

...

class BoxEx

{

int objsTaker(object objectX)

{

//objsTaker takes an object

//and processes it here

}

object objsConverter()

{

//objsConverter does the processing

//and returns an object

}

}

...

//Implementation of code int variable1;

variable1 = 5;

BoxEx boxVar = new BoxEx(); boxVar.objsTaker(variable1); //line 1

int convertVar = (int) boxVar.objsConverter(); //line 2

...

Работа с типами данных в C#

C# предоставляет унифицированную систему типов (Unified Type System)

Все типы данных в C# наследуются от единственного класса object

Статические члены классов

Статические члены не связаны ни с одним конкретным объектом, кроме самого класса

Существует только один экземпляр

такогометода/класса

static int staticMem;

static int instanceCount()

{

//instanceCount Implementation

}

Массивы

Массив – это группа значений, имеющих один и тот же тип данных

Значения хранятся в непрерывной области памяти, что упрощает доступ и работу с ними

Синтаксис объявления массивов в C# приведен ниже:

Массивы

int[] arr = new int[5];

int[,] arr = new int[3,4];

int[][] arr = new int[3][];

arr[0] = new int[4];

arr[1] = new int[10];

Структуры

Могут иметь методы

Могут иметь конструкторы

Не имеет механизма наследования

struct structEx

{

public int structDataMember; public void structEx()

{

//Constructor Implementation

}

public void structMethod1()

{

//structMethod1 Implementation

}

}

Соседние файлы в папке Инструментальные средства