-2
该代码从日志文件中读取,如果任何行包含-r和user.Handle,它将用^替换-r, ^,切断:之后的所有内容,然后保存剩余的文本。我收到错误中指定的错误只有有时“System.ArgumentOutOfRangeException:长度不能小于零”
if (line.Contains(user.Handle) && line.Contains("-r"))
{
string a = line.Replace("-r", "^");
string b = a.Substring(a.IndexOf('^') + 1);
string c = b.Substring(0, b.IndexOf(':'));
if (!isDuplicate(c))
{
listViewEx1.Items.Add(new ListViewItem(user.Handle)
{
SubItems = { c }
});
dupCheck.Add(c);
logcount++;
}
什么行是抛出的异常?你能发布你的堆栈跟踪吗? –
您调用的['string.Substring'方法](https://msdn.microsoft.com/en-us/library/aka44szs%28v=vs.110%29.aspx)有一个名为'length'的参数。您传入'b.IndexOf(':')'的结果,该结果可能小于零。这是没有什么例外没有*已经*告诉你。 – hvd