首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OaZUK75oFCZ-WHL3yFM-7_Xg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券