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

boyanx1个月前技术教程8

在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来提高效率。

标签: 字符对比

相关文章

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

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

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

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

long double也溢出如何比较大小(C语言大数比较算法)

以上数据溢出无法比较数字比较跟字符串比较是有差别的,不能直接strcmp完事了。数字比较主要考虑是数字对齐下面是算法比较支持很长很长大大数串#include<stdio.h>#includ...

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

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

批量分析文本中字符出现的次数并统计

批量分析文本中字符出现的次数并统计在数据统计及分析数据过程中经常会遇到,对于这个问题的解题思路也很明确,先拆分统计,再去重按条件整合。所以公式为=FILTER(UNIQUE(REGEXP(CONCAT...

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

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

发表评论    

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