C# StringBuilder类


  StringBuilder类位于System.Text命名空间下,使用StringBuilder类每次重新生成新字符串时不是再生成一个新实例,而是直接再原来字符串占用的内存看空间上进行处理,而且它可以动态的分配占用内存空间大小。因此在字符串处理操作比较多的情况下,使用StringBuilder类可以大大提高系统的性能。

  默认情况下,编译器会自动为StringBuilder类型的字符串分配一定的内存容量,也可以在程序中直接修改其占用的字节数。

  编写测试代码

  

using System;
using System.Text;

namespace StringBuilderExample
{
    class Program
    {
        static void Main(string[] args)
        {
            StringBuilder str = new StringBuilder();
            Console.WriteLine("字符串:{0},长度{1}", str, str.Length);
            Console.WriteLine("内存容量分配:{0}", str.Capacity);
            str = new StringBuilder("test string.");
            Console.WriteLine("字符串是:{0},长度:{1}", str, str.Length);
            Console.WriteLine("内存容量分配:{0}", str.Capacity);
            str.Append("append another string.");
            Console.WriteLine("字符串是:{0},长度:{1}", str, str.Length);
            Console.WriteLine("内存容量分配:{0}", str.Capacity);
            str = new StringBuilder("test string.", 5);
            Console.WriteLine("字符串是:{0},长度:{1}", str, str.Length);
            Console.WriteLine("内存容量分配:{0}", str.Capacity);
            str = new StringBuilder("test string.", 40);
            Console.WriteLine("字符串是:{0},长度:{1}", str, str.Length);
            Console.WriteLine("内存容量分配:{0}", str.Capacity);
            Console.ReadLine();
        }
    }
}

以下是.Net 4.5.2运行结果,版本不同可能会有差别

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM