简单的循环,不那么简单的错误
本文关键字:简单 错误 循环 | 更新日期: 2023-09-27 18:28:46
我遇到了一个让我发疯的错误。。。我找不到这个代码有什么问题,有人能帮我吗?
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+length>this.length参数名称:length中的System.String.Substring(Int32 startIndex,Int32长度)[0x0000]:0位于Program.Main(System.String[]args)[00x00000],位于:0 中
提前感谢您的帮助!
for(int i = args[0].Length; i >= 1; i--)
应该是
for(int i = args[0].Length - 1; i >= 0; i--)
args[0].Length
是字符串的长度。由于字符串是0
索引的,因此长度是字符串中最后一个字符后的一个索引。
如果您想在字符串中反向循环,您应该在Length - 1
处启动迭代器。