Answers:
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string.Join("", test);
var separator = ", ";
string.Join(separator , test);
string.Join(string.Empty, test)
而不是使用empty-paranthesis
。
尝试:
String.Join("", test);
它应该返回将两个元素连接在一起的字符串。""
表示您希望将字符串连接在一起而没有任何分隔符。
"Hello "
问题中的原始字符串已经有尾随空格。如果空间尚不存在,那您将是正确的,将其" "
用作分隔符会更有意义。
一个简单的字符串.Concat()是您所需要的。
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string result = string.Concat(test);
如果还需要添加分隔符(空格,逗号等),则应使用string.Join()。
string[] test = new string[2];
test[0] = "Red";
test[1] = "Blue";
string result = string.Join(",", test);
如果您必须在具有杂乱元素的字符串数组上执行此操作,那么从性能角度来看,它比string.Join()更好。只需提供一个“”(空白)参数作为分隔符即可。为了提高性能,也可以使用StringBuilder,但是它将使代码更长一些。
Concat
并且Join
比StringBuilder
如果要连接的字符串少于或等于4个要快。
Aggregate
也可以用于相同的。
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string joinedString = test.Aggregate((prev, current) => prev + " " + current);
string ConvertStringArrayToString(string[] array)
{
//
// Concatenate all the elements into a StringBuilder.
//
StringBuilder strinbuilder = new StringBuilder();
foreach (string value in array)
{
strinbuilder.Append(value);
strinbuilder.Append(' ');
}
return strinbuilder.ToString();
}
string.Join(" ", array)
(除非您添加了尾随空格)。为什么不只使用库中的那个?
在公认的答案中,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);