C#5种字符串拼接方式,你用过几种,老程序员一般用第5种!
我是编程乐趣,一个10年.Net开发经验老程序员,点击右上方“关注”,每天为你分享开源项目和编程知识。
字符串拼接是将两个或多个字符串组合成一个单一字符串的过程,在项目开发中非常常见,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 = #34;Hello, {name}!";
// "Hello, John!"
支持特殊字符串,以及运算。
string name = "Horace";
int age = 34;
Console.WriteLine(#34;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(#34;{name} is {age} year{(age == 1 ? "" : "s")} old.");
{// Horace is 34 years old.
另外还可以指定字符串格式化。
double speedOfLight = 299792.458;
FormattableString message = #34;光速是 {speedOfLight:N3} km/s.";
string messageInInvariantCulture = FormattableString.Invariant(message);
Console.WriteLine(messageInInvariantCulture);
// 输出
// 光速是 299,792.458 km/s
我是编程乐趣,一个10年.Net开发经验老程序员,专注开源项目和编程知识分享。
私信回复:【888】,领取.Net视频教程。
- End -
推荐阅读