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

boyanx3个月前技术教程13

在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算法:让字符串匹配不再烦恼

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

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

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

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

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

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

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

C++字符串比较函数的实现(c++字符串比较大小规则)

项目中基础函数的实现其实更有意思。公司大佬发来消息,说要我看看一个字符串比较函数的实现有没有问题,我仔细看了看,回复说没有发现问题,而且突然觉得基础函数的编写更有意思,更考基础和逻辑思维能力。于是,决...

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

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

发表评论    

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