Я хотел бы преобразовать строковый массив в одну строку.
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
Я хотел бы иметь что-то вроде "Hello World!"
Я хотел бы преобразовать строковый массив в одну строку.
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);
Параметр Join()
с меньшей быстрее, чем использование уже упомянутого метода Concat() метод. Он не требует пустого параметра разделителя, как это делает Join()
. Пример:
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string result = String.Concat(test);
следовательно, это скорее всего быстрее.
Try:
String.Join("", test);
который должен возвращать строку, соединяющую два элемента вместе. ""
указывает, что вы хотите, чтобы строки были объединены без каких-либо разделителей.
Простая строка. 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 также может использоваться для повышения производительности, но он сделает код немного дольше.
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.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];