Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6шт_ответы_C#.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
29.27 Кб
Скачать

53. Привести основні принципи побудови та методи асінхронного програмування.

Модель APM поддерживает механизмы позволяющие определять время завершения асинхронной компеляции и ее результаты.

*Ожидание завершения

*Опрос

*Обработка вызова метода

Инициируется асинхронная операция вызовом метода с приставкой begin. Так же методы ставят операцию в очередь выполнения и возвращают объект типа IAsyncResult, который указывает на выполняемую операцию. Для получения резултата операции нужно вызвать соответствующий метод с приставкой end и передать ему объект типа IAsyncResult. При вызове метода end clr получает команду вернуть результат асинхронной операции на которую управляет объект IAsyncResult. Если на момент вызова метода end операция завершена, результат будет сразу возвращен, в противном случае вызывающий поток будет приостановлен до момента завершения операции.

59. Яким чином можливо задавати змінне число параметрів для методу?

C# позволяет передавать методу переменное количество параметров путем указания ключевого слова params при объявлении метода. Список аргументов также может содержать регулярные параметры, однако параметр, объявленный с помощью ключевого слова params, должен быть последним в списке. Он имеет форму массива переменной длины, и в методе может быть только один параметрparams.

Когда компилятор пытается разрешить вызов метода, он выполняет поиск метода, список аргументов которого соответствует вызываемому методу. Если не удается найти перегрузку метода с соответствующим списком аргументов, но имеется подходящая версия с параметромparams нужного типа, выполняется вызов этого метода с добавлением в массив дополнительных аргументов.

60. Перелічити та описати існуючі числові типи даних в c#.

Типы

Sbyte, byte, bool, short, ushort, int, uint, long, ulong – для работы с целыми числами;

float, double – для работы с числами с плавающей точкой;

decimal – новый тип для работы с числами с плавающей точкой;

char, string – для работы с символьными данными.

Замечание: В программе на С# целочисленный литерал считается принадлежащим типу int, если только оно не больше максимального значения для типа int, если же число больше максимального для int значе-ния, для определения типа число анализируется. Число рассматривается как uint, long или ulong (имен-но в таком порядке) в зависимости от его значения. Литерал с десятичной точкой предполагается принадлежащим типу double.

СУФФИКСЫ, ИСПОЛЬЗУЕМЫЕ СОВМЕСТНО С ЧИСЛОВЫМИ ЛИТЕРАЛАМИ

Тип Суффикс, Uint u или U, Long l или L , Ulong ul, uL, Ul, UL, tu, , Float f или F , Double d или D , Decimal т или М .

ПРЕОБРАЗОВАНИЕ ВСТРОЕННЫХ ТИПОВ

Объекты одного типа могут быть преобразованы в объекты другого типа неявно или явно. Неявные преобразования происходят автоматически, компилятор делает это вместо вас. Явные преобразования осуществляются, когда вы «приводите» значение к другому типу. Неявные преобразования гарантируют также, что данные не будут потеряны.

short x = 1;

int у = х;//неявное преобразование

Компилятор не станет выполнять неявное преобразование от int к short:

short х;

int у = 5;

х = у; //не скомпилирует

Вы должны выполнить явное преобразование, используя оператор приведения:

short х;

int у = 5;

х = (short) у;//OK

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