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

【C#补全计划】StringBuilder

一、问题引入

        string类型是特殊的引用,每次重新赋值或拼接时都会分配新的内存空间,如果一个字符串经常改变会非常浪费空间

二、StringBulider的概念

1. 是C#提供的一个用于处理字符串的公共类

2. 主要解决的问题是:修改字符串而不创建新的对象,需要频繁修改和拼接字符串时使用,可以提升性能。

3. 使用前需要引用命名空间System.Text

三、StringBulider的初始化

1. 代码:

using System;
using System.Text;namespace Stringbuilder
{class Program{static void Main(string[] args){// 初始化StringBuilder sb = new StringBuilder("122333");Console.WriteLine("原始字符串: " + sb); // 122333}}
}

运行结果如下:

四、StringBulider的容量

1. 获取容量:StringBuilder对象名.Capacity

2. 获取长度:StringBuilder对象名.Length

3. 代码:

using System;
using System.Text;namespace Stringbuilder
{class Program{static void Main(string[] args){// 初始化StringBuilder sb = new StringBuilder("122333");Console.WriteLine("原始字符串: " + sb); // 122333// 获取容量Console.WriteLine();Console.WriteLine("容量: " + sb.Capacity); // 默认容量为16// 获取长度Console.WriteLine("长度: " + sb.Length); // 6}}
}

运行结果如下:

五、StringBulider的操作

1. 增加字符串:Append(要添加的字符串)、AppendFormat("占位符", 字符串列表)

2. 插入字符串:Insert(起始位置, 要插入的字符串)

3. 删除字符串:Remove(起始位置,删除字符串的长度)

4. 修改字符串:StringBuilder对象名[索引] = 要修改的字符

5. 替换字符串:Replace(被替换的字符串, 替换为的字符串)

6. 查找字符串:StringBuilder对象名[索引] 

7. 清空字符串:Clear()

8. 代码:

using System;
using System.Text;namespace Stringbuilder
{class Program{static void Main(string[] args){// 初始化StringBuilder sb = new StringBuilder("122333");Console.WriteLine("原始字符串: " + sb); // 122333// 获取容量Console.WriteLine();Console.WriteLine("容量: " + sb.Capacity); // 默认容量为16// 获取长度Console.WriteLine("长度: " + sb.Length); // 6// 增加字符串Console.WriteLine();sb.Append("4444"); // 添加字符串Console.WriteLine("添加字符串后: " + sb); // 1223334444sb.AppendFormat(" {0} {1}", "55555", "666666"); // 格式化添加字符串Console.WriteLine("格式化添加字符串后: " + sb); // 122333444455555666666// 插入字符串sb.Insert(0, "0"); // 在索引0处插入字符串Console.WriteLine("在索引0处插入字符串后: " + sb); // 0122333444555566666// 删除字符串sb.Remove(0, 1); // 删除索引0处的字符Console.WriteLine("删除索引0处的字符后: " + sb); // 1223334444555566666// 修改字符串sb[0] = '0';Console.WriteLine("修改索引0处的字符后: " + sb); // 0223334444555566666// 替换字符串sb.Replace("4", "8"); // 替换所有的4为8Console.WriteLine("将4替换为8后的字符串: " + sb); // 0223338888555566666// 查找字符串Console.WriteLine("索引为5的字符: " + sb[5]); // 3// 清空字符串sb.Clear(); // 清空字符串Console.WriteLine("清空字符串后: " + sb); // 空字符串}}
}

运行结果如下:

        今天的学习就到这里了。感谢阅读。

        再见!

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

相关文章:

  • 【shell脚本编程】-4 shell脚本编写冒泡排序
  • C++11新增关键字和范围for循环
  • Flutter ExpansionPanel组件(可收缩的列表)
  • Qt中定时器介绍和使用
  • Gradle(二)Gradle的优势、项目结构介绍
  • python2操作neo4j
  • HTTPS加密与私有CA配置全攻略
  • spring-cloud整合nacos详细攻略
  • 读《精益数据分析》:UGC平台的数据指标梳理
  • 11-docker单机版的容器编排工具docker-compose基本使用
  • 数据分析专栏记录之 -基础数学与统计知识
  • Threejs 设置灯光照射点位置 辅助器不跟随移动
  • 大数据中的数据压缩原理
  • QT第五讲-控件QLineEdit、QSpinBox、QSlider、QScrollBar、QDial、QProgressBar、QLCDNumber
  • 计算机网络摘星题库800题笔记 第4章 网络层
  • 前端最新Vue2+Vue3基础入门到实战项目全套教程,自学前端vue就选黑马程序员,一套全通关!笔记
  • MCU中的液晶显示屏LCD(Liquid Crystal Display)控制器
  • VUE的8个生命周期
  • C++list(2)
  • 【JavaEE】多线程之线程安全(上)
  • 串口通信学习
  • 【PyTorch学习笔记 - 03】 Transforms
  • Spring-Cache 缓存数据
  • Dubbo 3.x源码(33)—Dubbo Consumer接收服务调用响应
  • 赛灵思ZYNQ官方文档UG585自学翻译笔记:UART Controller,通用异步收发传输器控制器
  • I2C 接收与发送数据的流程
  • 成都影像产业园实训考察:重庆五一职院关注技能就业
  • 【DL】深层神经网络
  • 《疯狂Java讲义(第3版)》学习笔记ch1
  • 力扣 hot100 Day71