将i与下一个值进行循环比较,并访问最后一个值

时间:2018-12-28 06:07:43

标签: c# for-loop indexing

在我的字符串中,我希望将一个值与下一个值进行比较。因此,给定IVI,我想检查V是否跟随I,然后添加4。否则,只需添加1。

for(int i = 0; i < s.Length; i++){
            if(s[i] == 'I'){
                if(s[i+1] == 'V'){
                    Console.WriteLine("1");
                    sum += 4;
                }
                else if(s[i] == 'X'){
                  Console.WriteLine("2");
                    sum += 9;
                }
                else{
                    Console.WriteLine("3");
                    sum += roman[s[i]];
                }
    }

但是它与s [i + 1]越界,但是如何阻止它检查那么远?如果我使用s.Length-1,那么我将无法获得最后一个值。

1 个答案:

答案 0 :(得分:2)

您只需要再添加一个条件:

            if(i <= s.length - 1 && s[i+1] == 'V'){