解决方案 »

  1.   

    string 在每次修改的时候都会重新创建一个对象,所以你每次改的都会被存在内存里直到被释放。你可以试试StringBuilder类,他的修改是在原对象基础上修改的
      

  2.   

    string是作为一种只读资源分配的,
    分配后并不会很快回收,系统会尝试重用它。
      

  3.   

    GC并不会马上回收被废弃的资源,而是自己决定该什么时候回收而且string会有一个内存驻留技术,如5楼所说,系统会尝试重用它因此在内存充足的情况下,GC不会回收它,你观察到的内存会多多少少增加一些是正常的。
    你可以模拟下内存紧张的局面,然后持续观察一段时间,看看GC是不是会在之后的某个时间点回收那一部分内存
      

  4.   

    可以直接将需要写的内容写到F:/text.txt 去操作这个文件
      

  5.   

    重新赋值完成之后调用下 GC.Collect(),建议用stringbuilder