C# StringBuilder 您所在的位置:网站首页 菜鸟教程csharp在线编程 C# StringBuilder

C# StringBuilder

2023-10-24 18:50| 来源: 网络整理| 查看: 265

C# FileInfoC# 枚举(Enum) C# StringBuilder

在C#中,字符串类型是不可变的。这意味着字符串一旦创建就无法更改。例如,一个新的字符串"Hello World!"将占用堆上的内存空间。现在,通过将初始字符串更改"Hello World!"为"Hello World! from Tutorials Teacher"将在内存堆上创建一个新的字符串对象,而不是在相同的内存地址处修改原始字符串。如果通过替换,追加,删除或在原始字符串中插入新字符串多次更改原始字符串,此行为将影响性能。

字符串对象的内存分配

为了解决此问题,C#StringBuilder在System.Text命名空间中引入。StringBuilder不在内存中创建新对象,而是动态扩展内存以容纳修改后的字符串。

StringBuilder对象的内存分配

创建一个StringBuilder对象

您可以StringBuilder使用new关键字并传递初始字符串来创建该类的对象。以下示例演示了创建StringBuilder对象。

using System.Text; //引入              StringBuilder sb = new StringBuilder(); //稍后将追加字符串 //或 StringBuilder sb = new StringBuilder("Hello World!");

或者,还可以使用重载构造函数指定StringBuilder对象的最大容量,如下所示。

StringBuilder sb = new StringBuilder(50); //稍后将追加字符串 //或 StringBuilder sb = new StringBuilder("Hello World!", 50);

以上,C#在内存堆上按顺序分配最多50个空间。一旦达到指定容量,此容量将自动加倍。还可以使用capacity或length属性设置或检索 StringBuilder 对象的容量。

您可以循环使用for循环来获取或设置指定索引处的字符。

StringBuilder sb = new StringBuilder("Hello World!"); for(int i = 0; i 


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有