StringBuilder如果设置最大容量,并且足够长,那么不会报错,但是不过不设置或者设置的容量不够,则会出现内存溢出的异常。因为我不知道返回的字符串到底是多长的,所以没法设置最大容量。请高手帮帮忙,指点一下,这个问题要怎么处理呢???

解决方案 »

  1.   

    http://topic.csdn.net/u/20100607/10/b16e8946-1d4d-4317-8ceb-dd9c80a67c48.html
      

  2.   

    字符串太长了
    默认容量是 16,默认的最大容量是 Int32.MaxValue。 当实例值增大时,StringBuilder 可按存储字符的需要分配更多的内存,同时对容量进行相应的调整。分配的内存量是特定于实现的,而且如果所需内存量大于最大容量,会引发 ArgumentOutOfRangeException。
      

  3.   

    最大长度就是你的那个Int32的长度,不能比这个还要长的
      

  4.   

    不要用那个dll,它设计不好。
      

  5.   


    学c去吧,别学c#。你可能无法适应高效地开发应用系统。在大规模的应用需求开发中,测试说了算,你还需要预先分析怎样测试才算合理。而不是死抠一点c风格的接口代码制定各种各样繁琐的“规矩”。
      

  6.   

    我只能评估为lz:很可能只适应c的方式,甚至连c++的String类你都无法适应。这也就能映射到整个开发知识结构,不适应高级开发工具。