static void Main(string[] args) { Console.WriteLine("[1] Евклидово расстояние"); Console.WriteLine("[2] Корреляции Пирсона"); Console.WriteLine("[3] Ранжирование критиков 'Евклидово расстояние'"); Console.WriteLine("[4] Ранжирование критиков 'Корреляции Пирсона'"); Console.WriteLine("[другое] Выход"); var ch = Console.ReadKey(); Console.Clear(); IDistance distance = null; switch (ch.KeyChar) { case '1': distance = FactoryDistance.CreateDistance <EuclideanDistance>(Program.GetCritics()); break; case '2': distance = FactoryDistance.CreateDistance <CorrelationPearson>(Program.GetCritics()); break; case '3': Program.RankingCritics(typeof(EuclideanDistance), Console.In, Console.Out); break; case '4': Program.RankingCritics(typeof(CorrelationPearson), Console.In, Console.Out); break; } if (distance != null) { var result = distance.SimDistance("Lisa Rose", "Gene Seymour"); Console.WriteLine("Результат = {0}", result); } Console.ReadKey(); }