当前位置: 首页 > news >正文

C#-StringBuilder

string:特殊的引用

每次重新赋值或者拼接时会分配新的内存空间,如果一个字符串经常改变会非常浪费空间。

StringBuilder:C#提供的一个用于处理字符串的公共类

修改字符串而不创建新的对象,需要频繁修改和拼接的字符串可以使用它,可以提升性能。

产生垃圾的频率减少

一:使用

引用命名空间

using System.Text;

声明
StringBuilder str = new StringBuilder("123123123");
//指定容量大小。如果太多房间不用,也是浪费
StringBuilder str = new StringBuilder("123123123",100);
容量,字符长度

StringBuilder存在一个容量的问题,每次往里面增加时,会自动扩容

容量:str.Capacity 长度:str.Length

str.Append("4444");
str.AppendFormat("{0}{1}", 100, 999);
插入:str.Insert(0, "小明");
删、清空
str.Remove();
str.Clear();
查、改、替换
Console.WriteLine(str[1]);
Console.WriteLine(str);
str[0]='A';//StringBuilder的索引器可以修改  //string的索引器是只读的
str.Replace("1", "明");

StringBuilder的索引器可以修改,string的索引器是只读的

对StringBuilder重新赋值
//先清空再拼接  可以避免产生垃圾
str.Clear();
str.Append("123");
比较
//判断StringBuilder是否和某一个字符串相等
if( str.Equals("12312") )
{Console.WriteLine("相等");
}
//String类型判断相等
//str1 == str2;

StringBuilder没有查看位置的方法

String中的方法是:str.IndexOf();

二:string和stringBuilder的区别

  1. string相对stringbuilder 更容易产生垃圾 每次修改拼接都会产生垃圾

    需要使用string独特的一些方法来处理一些特殊逻辑时可以使用string

  2. string相对stringbuilder 更加灵活 因为它提供了更多的方法供使用

    需要频繁修改拼接的字符串可以使用stringbuilder

http://www.lryc.cn/news/482685.html

相关文章:

  • SQLI LABS | Less-39 GET-Stacked Query Injection-Intiger Based
  • linux安装zookeeper和kafka集群
  • 洞悉 Linux 系统运行细节,使用 atop 监测和回看系统负载状态
  • “双十一”电商狂欢进行时,在AI的加持下看网易云信IM、RTC如何助力商家!
  • Python调用企业微信的扫一扫
  • 速盾:CDN和OBS能共用流量包吗?
  • 第8章 利用CSS制作导航菜单
  • C# 集合与泛型
  • el-date-picker 设置开始时间和结束时间
  • 【Docker】 常用命令
  • docker compose - 设置名字
  • 工业拍卖平台、信息发布、租赁商城平台系统适用于全行业解决方案。
  • 一个win32 / WTL下多线程库(CThread类)的使用心得
  • 使用wordpress搭建简易的信息查询系统
  • PAT甲级 1076 Forwards on Weibo(30)
  • 揭开 gRPC、RPC 、TCP和UDP 的通信奥秘
  • 使用Web Worker来处理多线程操作,以及如何避免主线程卡顿。
  • 杂谈:业务说的场景金融是什么?
  • 在vscode实现用和Chrome开发者工具中相同的快捷键进行面板切换
  • 【ESP32+MicroPython】硬件控制基础
  • Python学习从0到1 day26 第三阶段 Spark ① 数据输入
  • kafka消费者的消费分区策略有哪些,默认是哪个?
  • 前端常用时间操作汇总
  • 106. UE5 GAS RPG 使用MVVM
  • Elasticsearch中什么是倒排索引?
  • 深度学习:AT Decoder 详解
  • pythons工具——图像的随机增强变换(只是变换了图像,可用于分类训练数据的增强)
  • C++中volatile限定符详解
  • 如何关闭Python解释器
  • 《TCP/IP网络编程》学习笔记 | Chapter 9:套接字的多种可选项