假设我们有
string one = "1";
string two = "2";
string three = "3";
我们想要得到结果字符串
result = "1, 2, 3"
通过以上三个变量构建它。
我知道我可以这样做
result = one + ", " + two + ", " + three;
但据我了解,然后生成了很多字符串并再次丢弃(首先是1
,然后是1,
,然后是1、2
,然后是 1, 2,
,然后是 1, 2, 3
)。我知道我可以使用 StringBuilder
来防止一直创建新字符串,但这也不是我想要的。
在我的例子中,我从一开始就知道字符串的外观,我只需要将变量的引用放入结果字符串中。
我知道我之前看过一个语法(C#)。我认为它看起来有点像这样:
result = "{0}, {1}, {2}", one, two, three
问题:
语法是什么?
在模式已知的情况下,将一个字符串从各个部分组合起来的正确名称是什么?我假设有一个比“连接”更具体的词。在我的理解中,“连接”是您想在运行时执行的操作,此时您一开始并不知道要连接哪些或多少个字符串。
- 与使用 (参见 https://stackoverflow.com/a/299541/5333340 - 似乎是 StringBuilder
相比,在性能或内存使用方面是否存在差异?string.Concat
更快。)
最佳答案
这是 string.Join
方法。与您所需的 String.Format
string one = "1";
string two = "2";
string three = "3";
string result = string.Join(", ", one, two, three);
关于c# - 既不使用 + 也不使用 StringBuilder 从变量构建字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39764994/