C#5种字符串拼接方式,你用过几种?


字符串拼接是将两个或多个字符串组合成一个单一字符串的过程,在项目开发中非常常见,C#也为我们提供非常多字符串拼接方式,下面一起盘点下。

01

使用加号(+)

这种方式是最直接、最简单的方式,缺点就是不利于阅读,一般用于较简单的拼接的情况。

string str1 = "Hello";  
string str2 = ", world!";  
string str3 = str1 + str2; 
// "Hello, world!"

02

使用 String.Concat 方法

这种方式与加号(+)类似。

string str1 = "Hello";  
string str2 = ", world!"; 
string str3 = string.Concat(str1, str2); 
// "Hello, world!"

03

使用 StringBuilder 方法

使用加号(+)、 String.Concat ,每一次都会新生成一个字符串对象,导致效率低下。在大量进行字符串拼接的情况下,推荐使用StringBuilder会更高效。

StringBuilder sb = new StringBuilder();  
sb.Append("Hello");  
sb.Append(", "); 
 sb.Append("world!");  
 string str = sb.ToString(); 
 // "Hello, world!"

04

使用 String.Format方法

字符串拼接一般比较推荐使用该方法,比较直观。

string name = "John";  
string greeting = String.Format("Hello, {0}!", name); 
// "Hello, John!"

05

使用 $ 的字符串内插

使用 $ 符号可以将变量插入到字符串中,$的方式相对String.Format的方法,更加进一步提升容易阅读。

string name = "John";  
string greeting = $"Hello, {name}!"; 
// "Hello, John!"

支持特殊字符串,以及运算。

string name = "Horace";
int age = 34;

Console.WriteLine($"He asked, \"Is your name {name}?\", but didn't wait for a reply :-{{");
// He asked, "Is your name Horace?", but didn't wait for a reply :-

Console.WriteLine($"{name} is {age} year{(age == 1 ? "" : "s")} old.");
{// Horace is 34 years old.

另外还可以指定字符串格式化。

double speedOfLight = 299792.458;
FormattableString message = $"光速是 {speedOfLight:N3} km/s.";
string messageInInvariantCulture = FormattableString.Invariant(message);
Console.WriteLine(messageInInvariantCulture);
// 输出
// 光速是 299,792.458 km/s

- End -

推荐阅读

一个Asp.Net Core MVC快速开发开源框架

一定要技术很牛逼才能学习架构设计吗?

适合Windows桌面、Material Design设计风格、WPF美观控件库【强烈推荐】

可拖拉拽的WPF选项卡控件,强大好用!

推荐一个Excel与实体映射导入导出的C#开源库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程乐趣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值