我想将字符串数组转换为单个字符串。
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
我想拥有像“Hello World!”这样的东西。
答案 0 :(得分:232)
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string.Join("", test);
答案 1 :(得分:20)
稍微更快选项比使用Join()
方法的已提及的Concat()方法。它不需要Join()
的空分隔符参数。例如:
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string result = String.Concat(test);
因此它可能更快。
答案 2 :(得分:19)
尝试:
String.Join("", test);
应返回将两个元素连接在一起的字符串。 ""
表示您希望字符串连接在一起而不使用任何分隔符。
答案 3 :(得分:14)
您需要一个简单的string.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也可以用于性能,但它会使代码更长一些。
答案 4 :(得分:2)
Aggregate
也可用于此目的。
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string joinedString = test.Aggregate((prev, current) => prev + " " + current);
答案 5 :(得分:1)
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();
}
答案 6 :(得分:0)
我用这种方式让我的项目更快:
RichTextBox rcbCatalyst = new RichTextBox()
{
Lines = arrayString
};
string text = rcbCatalyst.Text;
rcbCatalyst.Dispose();
return text;
RichTextBox.Text会自动将您的数组转换为多行字符串!
答案 7 :(得分:0)
在接受的答案中,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);
答案 8 :(得分:-3)
像这样:
string str= test[0]+test[1];
您还可以使用循环:
for(int i=0; i<2; i++)
str += test[i];