将string数组转换为string

我想将string数组转换为单个string。

string[] test = new string[2]; test[0] = "Hello "; test[1] = "World!"; 

我想有一个像“Hello World!”的东西

 string[] test = new string[2]; test[0] = "Hello "; test[1] = "World!"; string.Join("", test); 

尝试:

 String.Join("", test); 

这应该返回一个连接两个元素的string。 ""表示你想把这些string连接在一起而没有任何分隔符。

比使用已经提到的使用Join()方法稍微快一点的选项是Concat()方法。 它不需要像Join()那样的空分隔符参数。 例:

 string[] test = new string[2]; test[0] = "Hello "; test[1] = "World!"; string result = String.Concat(test); 

因此可能会更快。

一个简单的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数组上执行这个操作,元素比string中的元素更多,通过执行的angular度来看,join()更好。 只要给一个“(空白)参数作为分隔符。 为了提高性能,StringBuilder也可以被使用,但它会使代码更长一些。

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(); } 

我用这种方式来加快我的项目:

 RichTextBox rcbCatalyst = new RichTextBox() { Lines = arrayString }; string text = rcbCatalyst.Text; rcbCatalyst.Dispose(); return text; 

RichTextBox.Text会自动将您的数组转换为多行string!

在接受的答案中,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); 

喜欢这个:

 string str= test[0]+test[1]; 

你也可以使用循环:

 for(int i=0; i<2; i++) str += test[i];