我想将字符串数组转换为单个字符串.
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
Run Code Online (Sandbox Code Playgroud)
我想要像"Hello World!"这样的东西.
Dav*_*ard 256
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string.Join("", test);
Run Code Online (Sandbox Code Playgroud)
Qua*_*yst 28
稍微快比使用已经提到的使用的选项Join()的方法是CONCAT()方法.它不需要空的分隔符参数Join().例:
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string result = String.Concat(test);
Run Code Online (Sandbox Code Playgroud)
因此它可能更快.
dav*_*idg 20
尝试:
String.Join("", test);
Run Code Online (Sandbox Code Playgroud)
应该返回一个将两个元素连接在一起的字符串.""表示您希望字符串连接在一起而不使用任何分隔符.
ePa*_*dit 15
一个简单的string.Concat()就是你所需要的.
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string result = string.Concat(test);
Run Code Online (Sandbox Code Playgroud)
如果你还需要添加一个分隔符(空格,逗号等),那么应该使用string.Join().
string[] test = new string[2];
test[0] = "Red";
test[1] = "Blue";
string result = string.Join(",", test);
Run Code Online (Sandbox Code Playgroud)
如果你必须在一个字符串数组上执行此操作,其元素数量多于string.Join()从性能的角度来看更好.只需将""(空白)参数作为分隔符.StringBuilder也可以用于性能,但它会使代码更长一些.
小智 9
在接受的答案中, String.Join 就其用法而言并不是最佳实践。应该使用 String.Concat,因为 OP 在第一项中包含尾随空格:“Hello”(而不是使用空分隔符)。
但是,由于 OP 要求结果“Hello World!”,因此 String.Join 仍然是合适的方法,但尾随空格应移至分隔符。
// string[] test = new string[2];
// test[0] = "Hello ";
// test[1] = "World!";
string[] test = { "Hello", "World" }; // Alternative array creation syntax
string result = String.Join(" ", test);
Run Code Online (Sandbox Code Playgroud)
Aggregate也可以用于同样的用途。
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string joinedString = test.Aggregate((prev, current) => prev + " " + current);
Run Code Online (Sandbox Code Playgroud)