【发布时间】:2014-08-24 10:48:29
【问题描述】:
我在 C# 控制台应用程序中做一个简单的字符串匹配,我想得到这个异常: 在 mscorlib.dll 中发生了“System.ArgumentOutOfRangeException”类型的未处理异常
后跟额外信息:索引和长度必须引用字符串中的位置。
我不知道如何解释这个..
这是我的代码:
static void Main(string[] args)
{
var b = "bananas";
for (int i = 0; i < b.Length; i++)
{
for (int j = 0; j < b.Length; j++)
{
var current = b.Substring(i, j);
Console.WriteLine("{0} - {1}", b.Contains(current), current);
}
}
Console.ReadLine();
}
我感兴趣的只是错误的原因和解决方法/解决方案 - 即我显然缺乏正确的理解。 提前致谢!
【问题讨论】:
-
错误应该是不言自明的。您传递给
b.Substring的参数未描述字符串b中的有效子字符串。 -
您的代码没有意义。您正在从字符串中获取子字符串,然后检查该字符串是否包含该子字符串。它不总是true吗?
-
感谢您的评论,而不是仅仅按下投票按钮。不知何故,这对我来说不是那么不言自明,但你的描述会有所帮助。