C#基础|StringBuilder字符串如何高效处理。

哈喽,你好,我是雷工。
字符串处理在C#程序开发中是使用频率比较高的,但常规的字符串处理方式对内存占用比较多,为了优化内存,减少不必要的内存浪费,引入了StringBuilder类。
下面学习下StringBuilder类的使用。

01 普通字符串处理

不用StringBuilder对字符串进行拼接时
程序示例:

        static void Main(string[] args){Test7();}static void Test7(){string strText = "我正在浏览";strText += "[雷工笔记]";strText += "的C#学习笔记";Console.WriteLine(strText);Console.ReadLine();}

程序结果:
在这里插入图片描述

程序执行过程分析:
这种写法,每次修改strText,不是追加而是都要创建一个新的字符串对象。
从而造成内存浪费。

02 StringBuilder类的方法:

使用StringBuilder类定义可变字符串,实现字符串的追加。

方法说明
Append在结尾追加
Insert在指定位置插入指定字符串;
Remove移除指定字符串

03 StringBuilder类示例

使用StringBuilder类修改实现上述代码功能
代码示例:

        static void Main(string[] args){Test8();}static void Test8(){//实例化一个StringBuilder对象;StringBuilder myBuilder = new StringBuilder();myBuilder.Append("我正在浏览");myBuilder.Append("[雷工笔记]");myBuilder.Append("的C#学习笔记");Console.WriteLine(myBuilder.ToString());//转成String类型Console.ReadLine();}

代码结果:
在这里插入图片描述

程序执行过程分析:
该种写法只是在原来内存空间内进行字符串的追加处理,不会再开辟内存空间,从而达到节约内存的目的;

04 后记

以上是关于StringBuilder字符串高效处理类的学习及练习笔记。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/4596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PC-3000 Flash:NAND 闪存设备(包括一体式U盘)数据恢复的重量级工具(一)

天津鸿萌科贸发展有限公司从事数据安全业务20余年,在数据恢复、数据取证、数据备份等领域有丰富的案例经验、前沿专业技术及良好的行业口碑。同时,公司面向取证机构及数据恢复公司,提供数据恢复实验室建设方案,包含 PC-3000 系列数…

LeetCode 热题 100 Day05

矩阵相关题型 Leetcode 73. 矩阵置零【中等】 题意理解: 将矩阵中0所在位置,行|列置换为全0 其中可以通过记录0元素所在的行、列号,来标记要置换的行|列 将对应位置置换为0 解题思路: 第一个思路: 可以…

React | classnames

classnames 这个库在我们的项目中有大量的使用到,它不仅很实用,还非常好用,但还有人不知道这个库,我真的是十分心痛。 通过 classnames,我们可以给组件设置多个 className,还可以根据需要动态设置 classNa…

模块四:前缀和——DP35 【模板】二维前缀和

文章目录 题目描述算法原理解法一:暴力模拟(时间复杂度为O(n*m*q))解法二:二维前缀和(时间复杂度为O(m*n)O(q)) 代码实现解法二:前缀和(C)Java 题目描述 题目链接:DP35 【模板】二维…

三星电脑文件夹误删了怎么办?恢复方案在此

在使用三星电脑的过程中,我们可能会不小心删除了某个重要的文件夹,其中可能包含了工作文件、家庭照片、视频或其他珍贵的数据。面对这种突发情况,不必过于焦虑。本文将为您提供几种有效的恢复方案,希望能帮助您找回误删的文件夹及…

openEuler-22.03安装 mysql8.0.32

一、下载解压 下载地址: MySQL :: Download MySQL Community Server (Archived Versions) tar -xvf mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar -C /opt/mysql-8.0.32 二、安装 最开始安装一直报错 缺少 libcrypto.so.10库文件,安装openssl可以解决 wget http://…

Java客户端如何直接调用es的API

Java客户端如何直接调用es的API 一. 问题二. withJson 前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 一. 问题 今天做项目的时候,想要直接通过java客户端调用es的api…

揭秘工业大模型:从人工智能小白到技术先锋

工业大模型的五个基本问题 信息化时代,数字化转型成为企业提升营运效率、应对经营风险和提升核心竞争力的重要途径。在此过程中,数据作为一种客观存在的资源,所产生的价值日益凸显。党的十九届四中全会从国家治理体系和治理能力现代化的高度将…

【万字长文】看完这篇yolov4详解,那算是真会了

前言 目标检测作为计算机视觉领域的一个核心任务,其目的是识别出图像中所有感兴趣的目标,并给出它们的类别和位置。YOLO(You Only Look Once)系列模型因其检测速度快、性能优异而成为该领域的明星。随着YOLOv4的推出,…

双塔模型在召回和粗排的区别

答案参考:推荐系统中,双塔模型用于粗排和用于召回的区别有哪些? - 知乎 召回和粗排在不同阶段面临样本不一样,对双塔来说样本分布差异会使召回和粗排采取不一样的方式。召回打分空间是全部item空间,曝光只有很少一部分&#xff0…

【机器学习】集成学习---Bagging之随机森林(RF)

【机器学习】集成学习---Bagging之随机森林(RF) 一、引言1. 简要介绍集成学习的概念及其在机器学习领域的重要性。2. 引出随机森林作为Bagging算法的一个典型应用。 二、随机森林原理1. Bagging算法的基本思想2. 随机森林的构造3. 随机森林的工作机制 三…

ClickHouse 如何实现数据一致性

文章目录 ReplacingMegreTree 引擎数据一致性实现方式1.ReplacingMegreTree 引擎2.ReplacingMegreTree 引擎 手动合并3.ReplacingMegreTree 引擎 FINAL 查询4.ReplacingMegreTree 引擎 标记 GroupBy5.允许偏差 前言:在大数据中,基本上所有组件都要求…

Docker创建镜像之--------------基于Dockerfile创建

目录 一、在编写 Dockerfile 时,有严格的格式需要遵循 二、Dockerfile 操作常用的指令 2.1ENTRYPOINT和CMD共存的情形 2.2ENTRYPOINT和CMD的区别 2.3ADD 与COPY的区别 三、Dockerfile案例 3.1构建apache镜像 3.1.1 创建镜像目录方便管理 3.1.2创建编写dock…

函数递归与迭代

目录 1.递归 1.1递归的思想 1.2递归的限制条件 2.递归与迭代 1.递归 函数递归是什么? 递归是学习C语⾔函数绕不开的⼀个话题,那什么是递归呢? 递归其实是⼀种解决问题的⽅法,在C语⾔中,递归就是函数⾃⼰调⽤⾃⼰。 写⼀个史…

大模型对数字营销的驱动赋能

一、大模型驱动的营销数智化个信未来发展趋势 1.模型算法能力全面升级 大模型凭借智能化的用户洞察,个性化的需求预测、系统化的数据分析、效率化的营销决策以及实实化的全域检测支持,为营销行业更加准确地把握市场动态和消费者需求提供了强大支持。可以…

Spring Boot 如何实现缓存预热

Spring Boot 实现缓存预热 1、使用启动监听事件实现缓存预热。2、使用 PostConstruct 注解实现缓存预热。3、使用 CommandLineRunner 或 ApplicationRunner 实现缓存预热。4、通过实现 InitializingBean 接口,并重写 afterPropertiesSet 方法实现缓存预热。 1、使用…

数据结构和算法:贪心

贪心算法 贪心算法是一种常见的解决优化问题的算法,其基本思想是在问题的每个决策阶段,都选择当前看起来最优的选择,即贪心地做出局部最优的决策,以期获得全局最优解。 贪心算法和动态规划都常用于解决优化问题。它们之间存在一…

TCP/IP协议族中的TCP(二):解析其关键特性与机制

⭐小白苦学IT的博客主页⭐ ⭐初学者必看:Linux操作系统入门⭐ ⭐代码仓库:Linux代码仓库⭐ ❤关注我一起讨论和学习Linux系统 滑动窗口 在前面我们讨论了确认应答策略, 对每一个发送的数据段, 都要给一个ACK确认应答. 收到ACK后再发送下一个数据段.这样…

力扣HOT100 - 98. 验证二叉搜索树

解题思路&#xff1a; class Solution {public boolean isValidBST(TreeNode root) {return recur(root,Long.MIN_VALUE,Long.MAX_VALUE);}public boolean recur(TreeNode root,long lower,long upper){if(rootnull) return true;if(root.val<lower||root.val>upper) re…

Ubuntu上的screenfetch

2024年4月28日&#xff0c;周日下午 这些文本是由一个叫做 “screenfetch” 的命令生成的&#xff0c;它会显示一些系统和用户信息&#xff0c;包括操作系统、内核版本、系统运行时间、安装的软件包数量、使用的Shell、分辨率、桌面环境、窗口管理器、主题、图标主题、字体、CP…