StringBuilder.ToString()抛出一个“索引超出范围”异常

问题描述:

我真的很感激有人帮助我解决了以下问题:StringBuilder.ToString()抛出一个“索引超出范围”异常

我现在再以下异常我越来越:

指数超出范围。必须是非负的并且小于 的大小。参数名称:chunkLength

on stringBuilder.ToString()

奇怪的是,如果我把stringBuilder.ToString()放在手表中,它完美的工作。

+10

是否有可能您的StringBuilder也被另一个线程使用? –

+1

您能否提供导致异常的snippit,包括如何构建字符串生成器? – deepee1

+0

在事件上调用stringBuilder.AppendLine。然后它会在不同的线程上显示在屏幕上。 –

看起来像是一个多线程问题。我锁定线程以防止同时多次访问stringBuilder。

public void AddString(string s) 
{ 
    lock(this.LockObject) 
    { 
    StringBuilder.AppendLine(s); 
    } 
}