我收到以下代码的错误:这里我的pagedata.length是495,我在变量k中使用了57个。
for(int k = 0; k < pagedata.Length;k++)
{
string[] textdata = pagedata.Split(new char[0]);
string stringforemail = textdata[k];
if (stringforemail.Contains("@") && stringforemail.Contains("."))
{
TableRow tr = new TableRow();
//tr.BorderStyle = BorderStyle.Solid;
TableCell tc = new TableCell();
tc.BorderStyle = BorderStyle.Solid;
tc.Text = stringforemail;
tr.Cells.Add(tc);
Table1.Rows.Add(tr);
}
}
因为我的代码有问题,但我无法弄清楚错误..请帮我理解错误。
谢谢
答案 0 :(得分:2)
您正在尝试将文本拆分为新的空字符数组。这会为您提供一个包含一个项目的数组,值为pagedata
。
因此,您的textdata[k]
将失败,因为它使用pagedata
的长度,该长度大于1(数组的长度)。
我不知道你要用它做什么,但你的代码应该是这样的:
string[] textdata = pagedata.Split("your split string");
foreach (string stringforemail in textdata)
{
if (stringforemail.Contains("@") && stringforemail.Contains("."))
{
TableRow tr = new TableRow();
//tr.BorderStyle = BorderStyle.Solid;
TableCell tc = new TableCell();
tc.BorderStyle = BorderStyle.Solid;
tc.Text = stringforemail;
tr.Cells.Add(tc);
Table1.Rows.Add(tr);
}
}
将your split string
替换为您用作分隔符的文本。
答案 1 :(得分:0)
尝试添加(在for循环结束时):
if(k==textdata.Length)
{
break;
}
这样一旦完成,循环就会中断。