C# 字符串连接最佳实践

标签 c# string concatenation stringbuilder conventions

<分区>

我在谷歌上搜索最佳 C# 字符串连接,我在 Microsoft C# 代码约定中找到了这个: https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions

Use the + operator to concatenate short strings, as shown in the following code:

string displayName = nameList[n].LastName + ", " + nameList[n].FirstName;

但我真的更喜欢 (String.Format) "$"以提高可读性恕我直言:

string firstName = "MyName";
string lastName = "MyLastName";
string displayName = $"{lastName}, {firstName}";
Console.WriteLine(displayName); // "MyLastName, MyName"

你能告诉我你认为哪一个更好吗?还是只是个人喜好?

谢谢!

最佳答案

使用 StringBuilder 以获得最佳性能。 String.Format 也不错,但不能完全替代字符串上的“+”运算符。

StringBuilder builder = new StringBuilder();
// Append to StringBuilder.
for (int i = 0; i < 10; i++)
{
    builder.Append(i).Append(" ");
}
Console.WriteLine(builder);

记得导入命名空间:

using System.Text;

关于C# 字符串连接最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44799201/

相关文章:

c# - 如何在 NuGet v3 API 中拥有本地包的程序集 (dll)?

如果客户端在服务器失去焦点时连接到它(例如屏幕保护程序正在运行),C# 服务器将关闭/崩溃

c++ - 将十进制美元金额从字符串转换为缩放整数

mysql - 在 MySQL 查询中使用 Like 和 Concat

r - 从字符串数组生成累积的字符串数组

具有多个查询的 php/mysql

c# - 有什么办法可以制造不同类型的敌人吗?

c# - 为什么我的DLL可以编译为比我选择的版本低的.NET版本?

c# - 我可以使用 Format 而不是使用 substring 吗?

javascript - 我想从 javascript 中的 json 对象中搜索字符串