首页 > 其他分享 >字符串的优化

字符串的优化

时间:2023-08-09 16:22:13浏览次数:42  
标签:string 装箱 s1 sbd 字符串 优化 Append

C#正确操作字符串
编程语言中,字符串类型是操作最频繁的,使用不慎,会带来额外的开销

第一、尽量减少装箱。
例如
string str1 = "stri1" + 9;                    // (1)
string str2 = "str2" + 9.ToString();    // (2)

(1)中 9 发生了装箱的操作,
(2)没有发生装箱行为,调用的是int转string,效率高于装箱

第二、避免额外内存控件
例如:
string s1 = "abc";                        //(1)
s1 = "123" + s1 + "456";            //(2)

以上两行代码创建了 三个 字符串对象,并执行了一次 string.Concat()

string s1 = "123" + "abc" + "456";
// 该代码等效于 string s1 = "123abc456";

再看一个例子

例子1
string a = "t";
a +="e"
a +="s"
a +="t"

例子2
string a = "t";
string b = "e";
string c = "s";
string d = "t";
string result = a +b+c+d;

以上效率都不高,频繁的增、删,改字符串的信息,会创建大量的无用的中间变量。

对于此类操作,可以使用StringBuilder

StringBuilder sbd = new StringBuilder();
sbd.Append("t");
sbd.Append("e");
sbd.Append("s");
sbd.Append("t");

sbd.ToString();

实现字符串的增加。修改、删除类似。
----------------------------------------------------------------------------------------------------

文档有错误之处,予以指正!

 

标签:string,装箱,s1,sbd,字符串,优化,Append
From: https://www.cnblogs.com/panpeng666/p/17617134.html

相关文章

  • 堆优化模拟退火(List-Based Simulated Annealing|List-Based SA|LBSA|模拟退火) 算法
    堆优化模拟退火(List-BasedSimulatedAnnealing)算法引入堆优化模拟退火(List-BasedSimulatedAnnealing,简称LBSA)是一种对模拟退火的优化算法。由Shi-huaZhan,[1],[2]JuanLin,[1:1]Ze-junZhang,[1:2]Yi-wenZhong[1:3],[2:1]提出。(以下我们以求最小值为例)解释我们......
  • solr亿万级索引优化实践
    一海量数据的索引,第一个要解决的是数据存储的问题,solr提供数据存储平台有两种,第一个是本地磁盘,另一个是HDFS,我们可以通过solrhome的配置来实现。在本次实践中,我们选择的是本地磁盘,因为采用的solrcloud部署模式,本身就是多节点多机器,在存储上不会有问题,还有另一个重要的原因后面会......
  • Solr性能优化
    一、简介Solr性能优化是一个很复杂的任务,也是一个长期与之斗争的过程。在开始之前,首先要对影响Solr性能的基本因素有个大致的认知。影响Solr性能的一个主要因素就是内存。Solr需要有足够的内存用于两个方面:一部分用于Java堆内存,一部分用于操作系统的硬盘缓存。另外一个潜......
  • 【Python】日期格式转换 <字符串、datetime、date>
    #coding:utf-8importdatetimefromdateutil.parserimportparsefromdateutil.relativedeltaimportrelativedeltafromloguruimportloggeraslogsclassdate_transform:"""日期格式转换"""defauto(self,d):"......
  • 【pandas小技巧】--字符串转数值
    字符串转数字的用途和场景很多,其中主要包括以下几个方面:数据清洗:在进行数据处理时,经常会遇到一些数据类型不匹配的问题,比如某些列中的字符串类型被误认为是数字类型,此时需要将这些字符串类型转换为数字类型,才能进行后续的数值计算或统计分析。数据整理:有时候输入的原始数据可能......
  • c++ std::hash<std::string> 字符串哈希函数
    msvc采用了FNV-1a的哈希算法//众所周知std::string就是一个basic_string<char>template<class_Elem,class_Traits,class_Alloc>structhash<basic_string<_Elem,_Traits,_Alloc>>{_CXX17_DEPRECATE_ADAPTOR_TYPEDEFStypedefbasic_string<_......
  • linux I/O性能优化
    Linux文件系统磁盘和文件系统的关系:磁盘为系统提供了最基本的持久化存储。文件系统则在磁盘的基础上,提供了一个用来管理文件的树状结构。文件系统工作原理索引节点和目录项文件系统,本身是对存储设备上的文件,进行组织管理的机制。组织方式不同,就会形成不同的文件系统......
  • 网站文章标题怎么做SEO优化?
    文章标题优化是网站SEO优化的重点,一个网站要开展SEO,首先从文章标题优化开始。大多数人都知道标题设置必须包含关键字,然而,很少有人知道,包含关键字并不是简单地写成这样简单。搜索引擎优化不仅要考虑搜索引擎的捕获,还要考虑用户的搜索体验。 网站文章标题怎么做SEO优化网站文章标题......
  • 凸优化9——强对偶条件、几何解释、影子价格
    中科大-凸优化笔记(lec31)-Lagrange对偶(三)_及时行樂_的博客-CSDN博客中科大-凸优化笔记(lec32)-几种解释_及时行樂_的博客-CSDN博客关于Slater条件的证明有点难,我觉得暂时先记住就好此外我关注了一下影子价格这个东西什么是影子价格?——线性规划的对偶解,及拉格朗日乘数-知乎(......
  • 列表元素查找关键词 字符串查找关键词
    字符串查找关键词https://blog.csdn.net/zhuhai__yizhi/article/details/77582200列表元素查找关键词[iforiindf_上海投入.columnsif'卷号'ini]......