public static void Roman2(string input1) { char[] chr = input1.ToCharArray(); int[] Roman=new int[chr.Length]; int i = -1; foreach (char c in chr) { i++; switch (c) { case 'M': Roman[i] = 1000; break; case 'D': Roman[i] = 500; break; case 'C': Roman[i] = 100; break; case 'L': Roman[i] = 50; break; case 'X': Roman[i] = 10; break; case 'V': Roman[i] = 5; break; case 'I': Roman[i] = 1; break; default: Console.WriteLine("WrongInput"); break; } } int result = Roman[Roman.Length - 1]; for (int j = 0; j < Roman.Length-1; j++) { if (Roman[j] >= Roman[j + 1]) { result += Roman[j]; } else { result -= Roman[j]; } } Console.WriteLine("Roman : "+result); }