我希望有人能够帮助我解决以下问题:
偶尔会出现以下异常:
索引超出范围。 必须为非负值且小于集合大小。参数名称:chunkLength
在运行 stringBuilder.ToString()
时。
奇怪的是,如果我把 stringBuilder.ToString()
放在监视器中,它就可以正常工作。
我希望有人能够帮助我解决以下问题:
偶尔会出现以下异常:
索引超出范围。 必须为非负值且小于集合大小。参数名称:chunkLength
在运行 stringBuilder.ToString()
时。
奇怪的是,如果我把 stringBuilder.ToString()
放在监视器中,它就可以正常工作。
看起来这是一个多线程问题。我锁定了线程,以防止同时对stringBuilder进行多次访问。
public void AddString(string s)
{
lock(this.LockObject)
{
StringBuilder.AppendLine(s);
}
}