Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы_шпоры.doc
Скачиваний:
46
Добавлен:
17.08.2019
Размер:
436.22 Кб
Скачать

30. Для каких типов данных в языке c# базовым является тип object?

 

Для всех.

 

31. Какой тип не относится к ссылочным типам языка c#?

 

Встроенные ссылочные типы:

Object

String

Объявляются ссылочные типы с помощью ключевых слов class, delegate, interface

 

32.  При каком условии возможно без явных преобразований присваивание y = x в языке C#?

 

Если выражение в правой части того же типа, что и в левой.

То есть и y, и x должно быть одного типа, либо х должно безопасно приводиться к у?.

 

33.  Если метод вызывается в языке C# через ссылочную переменную, каким он может быть?

 

Любым из доступных.

 

34.  На каком уровне можно объявлять именованный метод в языке C#?

 

На уровне класса.

 

35.  Что задаёт ключевое слово ref в языке C#?

 

Ссылку на объект типа-значения. (используется для передачи аргументов по ссылке)

 

36.  Где могут использоваться статические поля классов в языке C#?

 

Статические поля обычно используются для следующих двух целей: хранение счетчика числа созданных объектов, или хранение значения, которое должно совместно использоваться всеми экземплярами.(обращение к ним осуществляется по имени класса, если что)

 

37.  Какие права доступа задают модификаторы доступа internal и protected в языке C#?

 

Ограниченный доступ.

 

protected            

Доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса.

 

internal

Доступ ограничен текущей сборкой.

 

protected internal             

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

 

38.  Что делает оператор % в языке C#?

 

Операция "%" определена над всеми арифметическими типами и возвращает остаток от деления нацело.

 

39.  Укажите корректный способ объявления переменной массива в C#.

 

int[] array3;

array3 = new int[ ] { 1, 3, 5, 7, 9 };   // OK

или array3 = new int[5]; //OK

Для стандартных типов можно string [ ] s1 = {"string 1", "string 2", ... , "string n"}

//array3 = {1, 3, 5, 7, 9};   // Error

 

 

 

 

40.   Какая операция в языке C# доступна только в блоках небезопасного кода?

 

Арифметические операции с указателями.

//Windows.ReadFile, например, требующая указатель в качестве параметра.

 

41.  Что будет выведено при выполнении следующего кода C#?

 

int a = 511;

byte b = 7;

b = a + 5;

Console.WriteLine(b);

 

Ничего. Компилятор вылетит с ошибкой несоответствия типов и требованием привести а к типу byte.

// Лично проверил.

 

42.  Какое ограничение накладывается в языке C# на метод - обработчик события?

 

С методами обработчиков событий нельзя использовать собственные типы параметров. Когда у кнопки возникает событие, она посылает сообщение о нем операционной системе, а та находит и вызывает соответствующий обработчик события. При вызове такого метода система сама определяет типы параметров и передает обработчику их значения.

 

43.  Какой код в C# корректно создаст экземпляр класса X и ссылающуюся на него переменную x?

 

X x = new X(…);

 

44.  Могут ли в языке C# использоваться указатели?

 

    Да, на участке с небезопасным кодом.

     

45.  Какое ключевое слово в языке C# не относится к модификаторам переменных?

 

abstract  event  partial sealed unsafe virtual

 

46.  Что задаёт ключевое слово out в языке C#?

 

Ключевое слово out используется для передачи аргументов по ссылке. Оно похоже на ключевое слово ref, за исключением того, что ref требует инициализации переменной перед ее передачей. Для работы с параметром out определение метода и вызывающий метод должны явно использовать ключевое слово out.

 

47.  Какое ключевое слово в С# не относится к механизму обработки исключительных ситуаций?

 

Обработка исключительных ситуаций включает следующие ключевые слова:

try, catch, finallise, throw

 

48.  Каким образом можно вызвать статический public метод класса X в языке C#?

 

 Обращаясь к методу по имени класса.

49.  Что задаёт ключевое слово default в языке C#?

 

Ключевое слово default может использоваться в инструкции switch или в универсальном коде:

·        Инструкция switch: определяет метку по умолчанию.

·        Универсальный код: определяет значение параметра типа по умолчанию. Это будет значение NULL для ссылочных типов и ноль для типов значения.

 

50.  Какое ключевое слово в C# не относится к модификаторам прав доступа?

 

Модификаторы доступа

 

public

private

internal

protected

protected internal (эти два можно объединить)

 

51.  Как присвоить значение переменной b типа bool переменной n типа int?

 

Преобразовав тип переменной b к типу int, или наоборот, переменную n к типу bool.

В C# не существует преобразования между типом bool и другими типами.

//Но можно воспользоваться тем, что значение false эквивалентно нулю, а значение true — ненулевым значениям.

 

52.  Где используется в языке C# ключевое слово value?

 

Неявный параметр value служит для настройки метода доступа и для добавления или удаления обработчиков событий.

//value - ключевое слово, которое обозначает значение

 

53.  В каком контексте в C# используется ключевое слово continue?

 

Оператор continue передает управление на следующую итерацию итерационного оператора, в котором он находится. Это оператор перехода.

Используется не в особом контексте, а во всех.

 

54.  Экземпляры каких типов могут быть элементами стандартных массивов языка C#?

 

Элементы массива могут быть любых типов, включая тип массива.

 

55.  Что задаёт оператор catch в языке C#?

 

Обработчик исключения.

Инструкция try-catch состоит из блока try, за которым следует одно или несколько предложений catch, в которых определяются обработчики для различных исключений. При возникновении исключения среда CLR ищет оператор catch, который обрабатывает это исключение. Если выполняющийся в данный момент метод не содержит такого блока catch, то среда CLR рассматривает метод, который вызвал текущий метод, и т. д. по стеку вызовов. Если блок catch не найден, то среда CLR отображает пользователю сообщение о необработанном исключении и останавливает выполнение программы.