Ich versuche, meine Funktion zu konvertieren, die eine RomanNumeral-Eingabe verwendet, um es als Dezimalwert aus JS in C# auszugeben, aber irgendwie bin ich stecken und brauche wirklich Ratschläge, wie diese Arbeit zu machen.Versuch, JS-Funktion in C# -Funktion zu konvertieren
using System;
using System.Collections.Generic;
class solution
{
static int romanToDecimal(string romanNums)
{
int result = 0;
int [] deci = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
string [] roman = {"M", "CM", "D", "CD", "C", "XD", "L", "XL", "X", "IX", "V", "IV", "I"};
for (var i = 0; i < deci.Length; i++)
{
while (romanNums.IndexOf(roman[i]) == 0)
{
result += deci[i];
romanNums = romanNums.Replace(roman[i], " ");
}
}
return result;
}
static void Main()
{
Console.WriteLine(romanToDecimal("V")); //Gibt 5 aus.
Console.WriteLine(romanToDecimal("XIX")); // Gibt 19 aus.
Console.WriteLine(romanToDecimal("MDXXVI"));// Gibt 1526 aus.
Console.WriteLine(romanToDecimal("MCCCXXXVII"));// Gibt 1337 aus.
}
}
Bitte erläutern * warum * der aktuelle Code nicht funktioniert – Rob
Ich glaube nicht, XD 90 – RJM
Es sollte XC statt – Yatin