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运行结果,版本不同可能会有差别

 

posted @   冬音  阅读(1311)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示