我收到一个让我发疯的错误...我发现这段代码有什么问题,任何人都会非常友好地给我一些帮助吗?
using System;
class Program
{
static void Main(string[] args)
{
for(int i = args[0].Length; i >= 1; i--){
Console.WriteLine(args[0].Substring(i, 1));
}
}
}
运行示例应该是:program.exe 6735
输出结果如下:
5
3
7
6
到目前为止,我唯一得到的是:
未处理的异常:System.ArgumentOutOfRangeException:startIndex + 长度> this.length参数名称:长度at System.String.Substring(Int32 startIndex,Int32 length)[0x00000] in :0:在Program.Main(System.String [] args)[0x00000] in:0
提前感谢您的帮助!
答案 0 :(得分:3)
for(int i = args[0].Length; i >= 1; i--)
应该是
for(int i = args[0].Length - 1; i >= 0; i--)
答案 1 :(得分:1)
args[0].Length
是字符串的长度。由于字符串是0
索引的,因此长度是字符串中最后一个字符之后的一个索引。
如果你想在字符串中反向循环,你应该在Length - 1
开始你的迭代器。