======
#14
======
-5
======
программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
++++++
Проанализируйте приведенный код.
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
======
программа завершится аварийно
======
программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
++++++
Проанализируйте приведенную ниже программу и укажите результат после попытки запустить программу на компиляцию и выполнение:
public delegate void Выдать(ref int a);
class Начисление{
int s = 100;
public event Выдать Зарплата;
public void Начислить() { Зарплата(ref s); }
public void Получите() { System.Console.Write(s); }}
class БумТрест { public static void OnЗарплата(ref int s) { s = s + 10; } }
class БумСтрой { public static void OnЗарплата(ref int s) { s = s - 30; } }
class Совместитель{
static void Main(string[] args) {
Начисление нач = new Начисление();
нач.Зарплата += new Выдать(БумТрест.OnЗарплата);
нач.Зарплата += new Выдать(БумСтрой.OnЗарплата);
нач.Начислить(); нач.Получите(); } }