将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];