public virtual int Value(char roman_numeral){
if (roman_numeral == 'M' || roman_numeral == 'm')
else if (roman_numeral == 'D' || roman_numeral == 'd')
else if (roman_numeral == 'C' || roman_numeral == 'c')
else if (roman_numeral == 'L' || roman_numeral == 'l')
else if (roman_numeral == 'X' || roman_numeral == 'x')
else if (roman_numeral == 'V' || roman_numeral == 'v')
else if (roman_numeral == 'I' || roman_numeral == 'i')
public virtual int RomanToArabic(string str){
for (int i = 0; i < str.Length; i++){
int str1 = Value(str[i]);
int str2 = Value(str[i + 1]);
result = result + str2 - str1;
public static void Main() {
Console.Write("Enter the roman numeral:");
String input = Console.ReadLine();
Converter Converter = new Converter();
Console.Write("In arabic :" +Converter.RomanToArabic(input));