Я хотів би перетворити рядковий масив в один рядок.
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);
var separator = ", "; string.Join(separator , test);
string.Join(string.Empty, test)а не використовувати empty-paranthesis.
Трохи швидший варіант, ніж використання вже згаданого використання Join()методу, є метод Concat () . Для цього не потрібен порожній параметр роздільника Join(). Приклад:
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string result = String.Concat(test);
отже, швидше за все, швидше.
Concatкраще, у внутрішньому коді Join, він додасть роздільник після кожного елемента. Але Concatне мати таких кодів, це простіше і пряміше, ніж Join. Це найкраща відповідь.
Спробуйте:
String.Join("", test);
яка повинна повернути рядок, що з'єднує два елементи разом. ""вказує на те, що ви хочете, щоб рядки були з'єднані між собою без роздільних знаків.
"Hello "у запитанні вже мала пробіл. Якби місця вже не було, то ви будете правильно, а використання " "в якості роздільника мало б більше сенсу.
Проста 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 () краще з точки зору performace. Просто наведіть аргумент "" (порожній) як сепаратор. StringBuilder також можна використовувати задля продуктивності, але це зробить код трохи довшим.
Concatі Joinшвидше, ніж StringBuilderякщо у вас є 4 або менше рядків для об'єднання.
Aggregate також можна використовувати для того ж.
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string joinedString = test.Aggregate((prev, current) => prev + " " + current);
String.Joinзавдяки безлічі побудованих додаткових рядків. Будь ласка, прочитайте stackoverflow.com/questions/217805/… для правильного варіанту Aggregate.
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();
}
string.Join(" ", array)(за винятком того, що ваш додає пробіл). Чому б просто не використовувати той, який знаходиться в бібліотеці?
У прийнятій відповіді, String.Join не найкраща практика щодо її використання. String.Concat слід було б використовувати, оскільки OP включив проміжок у першому пункті: "Привіт" (замість того, щоб використовувати нульовий роздільник).
Однак, оскільки ОП попросив отримати результат "Привіт, світ!", 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);