Главная /
C#: ООП и классы /
Проанализируйте приведенный код. delegate void MyEventHandler(ref int a); class MyEvent { public event MyEventHandler SomeEvent; public void OnSomeEvent(ref int d) { if (SomeEvent != null) SomeEvent(ref d); } } class EventTest { static void Handler1(ref i
Проанализируйте приведенный код.
delegate void MyEventHandler(ref int a);
class MyEvent
{ public event MyEventHandler SomeEvent;
public void OnSomeEvent(ref int d)
{ if (SomeEvent != null) SomeEvent(ref d); } }
class EventTest
{ static void Handler1(ref int b) { b = 2 * b; }
static void Handler2(ref int c) { c = c + 12; Handler1(ref c);}
public static void Main()
{ MyEvent evt = new MyEvent();
int a = int.Parse(System.Console.ReadLine());
if (a > 0) evt.SomeEvent += new MyEventHandler(EventTest.Handler1);
else if (a < 0) evt.SomeEvent += new MyEventHandler(EventTest.Handler2);
evt.OnSomeEvent(ref a); System.Console.WriteLine(a); } }
Пользователь собирается после запуска программы ввести цифру 0
. Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
вопрос
Правильный ответ:
0
24
12
программа завершится аварийно
программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
Сложность вопроса
86
Сложность курса: C#: ООП и классы
79
Оценить вопрос
Комментарии:
Аноним
Я провалил сессию, почему я не увидел этот великолепный сайт с ответами с тестами intuit месяц назад
13 апр 2018
Другие ответы на вопросы из темы программирование интуит.
- # Исходный модуль содержит код: internal class Rectangle { public double width, hight; public void Zoom(double d) { width += d; hight += d; } public void Rectangle(double width, double hight) { this.width = width; this.hight = hight; } } class Program { static void Main() { Rectangle p = new Rectangle(10, 20); p.Zoom(-5); System.Console.Write("{0} {1}", p.width, p.hight); } } Метод Main разрабатывался для изменения размера прямоугольника. Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
- # Исходный модуль содержит классы ClassA, ClassB, ClassC и Program: class ClassA { int a; public int VA { get{return a;} set{a=value;} } } class ClassB : ClassA { int b; public int VB { get{return b;} set{b=value; VA=b+3;} } } class ClassC : ClassB { int c=3; public int VC { get{return c;} set{VB=c+2; c=value; } } } В классе Program определен метод Main, в теле которого находится код: ClassC P = new ClassC(); P.VC = 10; System.Console.Write("{0} {1}", P.VC, P.VA); Укажите результат вывода на консоль после выполнения метода Main():
- # Из приведенных ниже высказываний укажите все истинные высказывания:
- # Исходный модуль содержит код: enum Цвет{Красный,Зеленый,Синий,Желтый,Черный,Белый} enum Сторона{Север=3,Юг,Восток,Запад,СевероЗапад,ЮгоВосток} class Program { static void Main() { Цвет цвет=Цвет.Синий; Сторона сторона = __________ ; System.Console.WriteLine("ЭТО БУДЕТ " + (int)сторона); } } Среди перечисленных ниже вариантов инициализации укажите все варианты, подстановка каждого из которых вместо знаков подчеркивания позволяет получить корректную программу, которая выведет на консоль сообщение ЭТО БУДЕТ 5:
- # Приведенному ниже коду доступны пространства имен System и System.Collections. public static void Main() { Hashtable ht = new Hashtable(); ht.Add("ВУЗ ", " МГУ"); ht.Add("Птица", "чиж"); ht["Ветер"] = " пассат "; foreach (string str in ht.Keys) Console.Write(str + ": " + ht[str] + ". "); } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение: