温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#字符串的拼接方法

发布时间:2021-09-13 18:54:12 来源:亿速云 阅读:177 作者:chen 栏目:开发技术

本篇内容主要讲解“C#字符串的拼接方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#字符串的拼接方法”吧!

其一、直接通过+拼接

  直接通过+拼接是我们在代码中最常见的一种方式,下面以一个简单的代码段来分析分析

  1stringstr="1";

  2

  3str=str+"2";

  第一段代码,首先分配了一个内存空间来存储str变量,其值为“1”

  第二段代码,重新分配了一个新的内存空间来存储“12”,并将str指向新地址

  通过分析,其实我们不难发现,两端就简单的代码,就会有两次内存地址操作,随着拼接字符串的个数地址,分配内存地址的次数也递增,当几个简单的字符串通过该方式拼接时,其实我们还是感觉不到性能的影响,但是当字符串数量大时,你都会有感觉了,那样不仅仅造成内存的浪费,还直接影响性能。

  所以在实际开发工程中,通过+拼接字符串比较常见,但是如果只是见到这种方式也就不那么友好了,既然不友好,那么显然就会有比较友好的方式啦,下面我们就分析分析通过StringBuilder来实现字符串的拼接。

其二、通过StringBuilder拼接字符串

  StringBuilder其实内部相当于是维护的一个字符数组,是一个可以动态增加自身数据长度,其默认长度为16,当存储的字符串超出其长度是,会自动扩容2倍长度。

  哈哈,说到这儿,估计你看出了问题,那就是超出长度自动扩容,自动扩容是不是也需要牺牲性能,当然在几次扩容你还感觉不到性能的影响,但是如果词数多了,你就会感觉很明显,这也是对StringBuilder的一些使用技巧。

  我们去看不同小伙伴的代码,你就会发现,技术老鸟,在初始化StringBuilder的时候会根据预估将要存储的字符串大小,给StringBuilder初始化一个长度,这也就是细节上的差距体现。

  说了半天的废话,是不是要来的实际的代码来证明说的不是废话呢?不急不急,在文章最后,我会专门写测试代码对比分析的。

其三、string.Format不陌生吧

  对于一些格式的数据拼接填充,string.Format也是经常看见的,他的一个很大好处就是,看上去比较清晰

  其实我们看过string的底层实现我们会发现,其底层本质还是StringBuilder来实现的

其四、$方式拼接字符串

  C#6.0出现了$方式拼接字符串,其实简单说就是string.Format简化操作版,string.Format如果拼接的字符串太多,估计自己都懵逼的分不清对应关系了,不知道你们遇到过没有,反正我原来是遇到过的。$就很好的规避了该问题

到此,相信大家对“C#字符串的拼接方法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI