В условии задачи не сказано, что Console.Write обязательно должен быть от пространства System. По факту решение верное.
Возможно вот этот вариант подойдёт (пришлось даже поломать голову немного на счёт решения задачи через конструкторы/деструкторы):
Code
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace ConsoleApplication198 { class Program { static Program() { Console.Write("A"); AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit); }
public static void Main(string[] args) { Console.Write("B"); }
Arhimondus, Это одно из верных решений. А Про то, что Console.Write обязательно должен быть от пространства System, я забыл упомянуть, мне это показалось итак понятно. Вот ещё вариант решения:
Code
using System; using System.Collections.Generic; using System.Text;
namespace ABC { class Program { static Program() { Program pg = new Program(); Console.WriteLine("A"); } static void Main() { Console.WriteLine("B"); } ~Program() { Console.WriteLine("C"); }
} }
Т.К. деструкторы в .Net используются очень редко(за ненадобностью), эта задача оказывается не по силам новичкам(большинству из них) и заставляет задуматься остальных. Вcем зла.
Сообщение отредактировал Undead - Пятница, 18 Мая 2012, 07:17
Undead, я бы не сказал, что деструкторы используются редко. Они используются тогда, когда нужно следить за сборками мусора (в некоторых случаях). А в компьютерных играх сборки мусора - главный враг! . *Не убегай от снайпера, умрешь уставшим. *Мои статьи...
Сообщение отредактировал Stalker_Shooter - Пятница, 18 Мая 2012, 18:43
Это неправильный вариант, не смотря на то, что в 99.9999% он будет работать. Ведь никто не гарантирует, что деструктор будет вызван обязательно после вывода "B".