Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфа теория передел.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
447.59 Кб
Скачать

27 Динамический тип данных

Тип dynamic позволяет пропускать проверки типов во время компиляции операции, в которых он применяется . Вместо этого эти операции разрешаются во время выполнения. Тип dynamic упрощает доступ к API модели COM, например API автоматизации Office, к динамическим API, например библиотекам IronPython, и модели DOM HTML.

В большинстве случаев тип dynamic ведет себя так же, как object. Однако операции, которые содержат выражения типа dynamic, не разрешаются, или выполняется проверка типа компилятором. Компилятор пакует сведения об операции, затем эти сведения используются для оценки операции во время выполнения. Как часть процесса, переменные типа dynamic компилируются в переменные типа object. Поэтому тип dynamic существует только во время компиляции, но не во время выполнения.

В следующем примере переменная типа dynamic противопоставляется переменной типа object. Чтобы проверить тип каждой переменной во время компиляции, наведите указатель мыши на dyn или obj в операторах WriteLine. IntelliSense отображает dynamic для dyn и object для obj.

class Program

{

static void Main(string[] args)

{

dynamic dyn = 1;

object obj = 1;

// Rest the mouse pointer over dyn and obj to see their

// types at compile time.

System.Console.WriteLine(dyn.GetType());

System.Console.WriteLine(obj.GetType());

}

}

    1. Статический класс Environment.

Предоставляет сведения о текущей среде и платформе, а также необходимые для управления ими средства. Этот класс не наследуется.

Класс Environment используется для получения сведений об аргументах командной строки, коде выхода, значениях переменных среды, содержании стека вызова, времени, прошедшего с момента последней загрузки, и версии среды CLR.

Класс System.Environment содержит в себе статические методы, которые дают возможность получать информацию о операционной системе, в которой происходит выполнение созданного вами .net (дот нет) приложения. Для демонстрации работы этого класса ниже приведен программный код. В результате выполнения этого программного кода вы увидите в консольном окне информацию о текущей операционной системе (ОС), о каталоге, в котором сохранено приложение, диски на вашем ПК, а так же сможете узнать версию среды выполнения .net (дот нет), которая у вас установлена.

usingSystem;

    classHelloClass

    {

        publicstaticintMain (string[] args){

Console.WriteLine ("ИспользуемаяOC:{0}", Environment.OSVersion);

Console. WriteLine ("текущийкаталогприожения: {0}", Environment.CurrentDirectory);

string[] drives = Environment.GetLogicalDrives();

for(inti = 0; i < drives.Length; i++)

Console.WriteLine ("Диск{0} : {1}", i, drives [ i ]);

Console.WriteLine ("Выполняемаяверсия.Net (дотнет): {0}", Environment.Version);

Console.ReadLine();

return0;

    }

}

Таблица: некоторые свойства (методы) класса System.Environment

Метод

Описание

MachineName

Имя компьютера, на котором происходит выполнение приложения

NewLine

Используется для перехода на следующую строку

ProcessorCaunt

Количество процессоров в вашем ПК

SystemDirectori

Выводит на экран путь к системному каталогу на вашем компьютере

UserName

Выводит сообщение с именем модуля, который произвел запуск этого приложения