//求助,有点懵这个错误。
private static void StringOperate()
{
StringBuilder s = new StringBuilder(14);
StringBuilder l = new StringBuilder(14);
StringBuilder g = new StringBuilder(14);
string m = "How Are You ";
for (int i = 0; i <m.Length ; i+=4)
{
s.Insert(0, m.Substring(i, 4));
}
for (int i = 0; i <m.Length ; i++)
{
l.Insert(0, m.Substring(i, 1));
}
while (true)
{
foreach (var item in m)
{
int i = 0;
//此处往下会报错,错误源显示处为 if (m.LastIndexOf(item, 0, 2) >= 0)。
if (m.LastIndexOf(item, 0, 2) >= 0)
{ m.Remove(m.LastIndexOf(item, 0, 2), 1); }
else i++;
if (i == m.Length) return;
}
}
}
肯定越界了吗,从0位置开始找,然后长度为2,到头了哪后还来哪来的2个字符。这个count是指从0位置往前找2个字符,已经第一个字符了,在往前就越界了。
而且题主的i放到foreach里面了,这样每次i的值都是0,后面的i++根本没什么意义了,放到foreach外
不过题主是想实现什么功能?最好描述清楚来。
有帮助请【采纳该答案】,谢谢~~有其他问题可以继续交流~
数组越界了,检查一下索引是否超出最大下标。