当前位置: 首页 > 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.dtcms.com/a/328467.html

相关文章:

  • dify是什么?
  • 每日任务day0812:小小勇者成长记之挤牛奶
  • 实现一个二维码让 iOS 和 Android 用户自动跳转到对应下载链接
  • Spring中的@Autowired和@Bean有什么区别?
  • 【超详细!题解|两种做法】洛谷P3196 [HNOI2008] 神奇的国度[MCS算法]
  • linux 开机进入initramfs无法开机
  • 嵌入式技术公开课精华笔记:CSDN专版
  • 【数据分享】1:25万水系线路分布数据(辽宁省)
  • Java 课程,每天解读一个简单Java之利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示, * 60分以下
  • imx6ull-驱动开发篇19——linux信号量实验
  • 深度优先搜索和广度优先搜索(重制版)
  • [git] 重配ssh key | 解决冲突
  • 【SpringBoot】MyBatis 动态 sql
  • python——day2
  • 力扣(LeetCode) ——移除链表元素(C语言)
  • NumPy 创建空数组并逐个添加元素的深度解析
  • java理解
  • 解决微前端子应用嵌入后样式被覆盖
  • 深度解析 AS32S601 芯片 CAN Bus Off 机制:从原理到应用的全流程指南
  • 浏览器CEFSharp+X86+win7 之 全球外贸电商平台订单管理(十)
  • 前后端分离项目中Spring MVC的请求执行流程
  • uni-app实战教程 从0到1开发 画图软件 (学会画图)
  • Ceph BlueStore存储引擎详解
  • 【数据结构】并查集:从入门到精通
  • 《Linux基础知识-1》
  • docker-compose搭建 redis 集群
  • 阿里巴巴开源多模态大模型-Qwen-VL系列论文精读(一)
  • VBS 时间函数
  • 基于 libwebsockets 库实现的 WebSocket 服务器类
  • Shader warning in ‘Universal Render Pipeline/Particles/Simple Lit‘