C#拼接字符串及简单性能比较(c#两个字符串相连接)

boyanx7个月前技术教程26

在C#编程中拼接字符串应该是最常见的场景之一,假如现在有几个变量需要转换成字符串并按格式拼接,常用的几种方法:

int a = 1;
char b = 'c';
double c = 1.2;

1、string.Format()方法,和C++的用法类似:

public string Format() => string.Format("{0} {1} {2}", a, b, c);

2、简单 “+” 拼接法:

public string ToStringFormat() => a.ToString() + " " + b.ToString() + " " + c.ToString();

3、StringBuild.Append()方法:

public string StringBuildFormat()
{
StringBuilder s = new();
s.Append(a);
s.Append(
" ");
s.Append(b);
s.Append(
" ");
s.Append(c);
return s.ToString();
}

4、$字符串内插,$是c# 6.0 的语言特性,功能类似string.format(),更方便的地方在于不要像format一样使用索引,可以直接使用变量、表达式或者方法的执行:

public string DollarFormat()=>#34;{a} {b} {c}";

下面用Benchmark简单测试一下性能



结论:StringBuild时间最短,但内存开销相对$要大。$语法糖时间第二短,但内存开销最小。因此在简单几个字符串拼接适宜直接使用$语法,编程也简练。很多的变量或字符串很长时,可以用StringBuild.Append来提高效率。

标签: 字符对比

相关文章

Excel文本有多个相同符号,如何分别提取该符号前、中、后的内容

当excel数据列中,部分的单元格文本中包含了不止一个的相同特定符号,该如何提取这个符号之前,及这两个符号之间,或符号之后的字符串内容。如下图所示,在A列源数据中,是工程项目使用的一些材料的尺寸面积,...

「数据库调优」屡试不爽的面试连环combo

点赞再看,养成习惯前言面试官:敖丙你简历上写了你会数据库调优,你都是怎么调优的?敖丙:加索引。面试官:还有么?敖丙:没了。面试官:我们公司的门你知道在哪里吧,自己走还是我送你?哈哈开头这个场景是我臆想...

有很多人问我,怎么来对比这个单元格是否包含某个字符

有很多人问我,怎么来对比这个单元格是否包含某个字符。今天就把这个函数分享出来,希望能帮助你们更好、更快的办公。函数公式如下:=IF(ISNUMBER(SEARCH("K", A2)),...

哪种编程语言又快又省电?有人对比了27种语言

编辑:小舟、张倩在手机快没电时,管理软件往往会提醒我们关掉某些耗电量高的应用。可见,除了硬件厂商外,软件厂商也应该重视能耗问题。在这篇文章中,研究者分析了一下各种编程语言的能耗对比。当能耗也成为了一个...

JavaScript比较运算符(js比较对象)

JavaScript 语言中有两种比较方式,转换类型比较运算符 == 和严格比较运算符 ===。其中严格比较运算符仅当两个操作数的类型相同且值相等时才为true。而转换类型比较运算符== 会在进行比较...

Java KMP算法:让字符串匹配不再烦恼

前言在编程的世界里,字符串匹配就像一场“表面简单,内里复杂”的戏码。表面上,两个字符串的比较似乎跟找朋友的名字一样容易;可当数据量爆炸时,那些原本看似轻松的算法瞬间变得如同用手撕牛皮纸,令人崩溃。别担...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。