# LeetCode Integer to Roman C#

I am fighting with this puzzle - there are two errors where I got stuck.

Here’s my source code

``````public class Solution {
public string IntToRoman(int num) {
Dictionary<Int32, String> romanMap = new Dictionary<int, String>
{
{ 1000, "M" },
{ 900, "CM" },
{ 500, "D" },
{ 400, "CD" },
{ 100, "C" },
{ 90, "XC" },
{ 50, "L" },
{ 40, "XL" },
{ 10, "X" },
{ 9, "IX" },
{ 5, "V" },
{ 4, "IV" },
{ 1, "I" },
};

String res = (0).ToString();
//this line below gives me the two errors
for(String index = (num.Length - 1).ToString(), last = 0; index >= 0; index--){
String current = romanMap[num[index]];
res += (current < last ? -current : current);
last = current;
}

return res;
}
}
``````

Here are my errors

``````Line 21: Char 33: error CS1061: 'int' does not contain a definition for 'Length' and no accessible extension method 'Length' accepting a first argument of type 'int' could be found (are you missing a using directive or an assembly reference?) (in Solution.cs)

Line 21: Char 64: error CS0029: Cannot implicitly convert type 'int' to 'string' (in Solution.cs)
``````

I have tried applying (int).ToString or switching the Length to Count method, however I could not resolve these errors. Any hints pretty much appreciated!

You’re accepting `int num` as the sole argument for the function named `IntToRoman`.

The first thing you do with that `int` is try to get its length, hence the first error message. It translates to:

You’re trying to use `int.Length` but I don’t know what that means

(which is why when you try to minus 1 from the value of its length, it won’t work either)

Why are you trying to minus 1 from its length? The answer to that question will help us figure out what to do next.

If `num` is given as `100` and what you’ve written decides to work, it’ll do this:

``````int num = 100;
num.Length; // 3, hypothetically, but this will generate an error in reality
num.Length - 1; // 2, hypothetically
(num.Length - 1).ToString(); // "2", hypothetically
``````

What exactly are you trying to do…?

Thank you so much - I did not know that I could approach this error like the way you have suggested. The int error has been asking me why I am trying to minus 1 from the value of its length
As I was sick as I posted this question, I do not have any idea what I wanted to do either. Will try this puzzle once I feel better

1 Like