将字符串数组转换为字符串

时间:2011-01-30 05:51:38

标签: c# arrays string

我想将字符串数组转换为单个字符串。

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

我想拥有像“Hello World!”这样的东西。

9 个答案:

答案 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];