Я бы предпочел что-то вроде:
string[] strArray = {"Hi", "how", "are", "you"};
string strNew = strArray.Delimit(chDelimiter);
Однако такой функции нет. Я просмотрел MSDN и ничего не смотрел на меня как на функцию, которая выполняла бы то же действие. Я посмотрел на StringBuilder, и опять ничего не выделялось мне. Кто-нибудь знает не слишком сложную строку, чтобы сделать массив строкой с разделителями. Спасибо за помощь ваших парней. ОБНОВЛЕНИЕ: Ух ты, лол, мой плохой. Я продолжал смотреть на .Join на самом массиве, и он чертовски меня раздражал. Я даже не смотрел на String.Join. Спасибо, парни. Как только это позволит мне принять, я приму. Точная помощь.
Для массивов вы можете использовать:
string.Join(", ", strArray);
Лично я использую метод расширения, который я могу применить к перечислимым коллекциям всех типов:
public static string Flatten(this IEnumerable elems, string separator)
{
if (elems == null)
{
return null;
}
StringBuilder sb = new StringBuilder();
foreach (object elem in elems)
{
if (sb.Length > 0)
{
sb.Append(separator);
}
sb.Append(elem);
}
return sb.ToString();
}
... Который я использую так:
strArray.Flatten(", ");
Вы можете использовать статический метод String.Join :
String strNew = String.Join (chDelimiter, strArray);
EDIT: В ответ на комментарий :
Основываясь на вашем комментарии, вы можете взять несколько массивов, объединить их вместе, а затем объединить весь результирующий массив. Это можно сделать с помощью метода расширения IEnumerable Concat
. Вот пример:
//define my two arrays...
string[] strArray = { "Hi", "how", "are", "you" };
string[] strArray2 = { "Hola", "como", "esta", "usted" };
//Concatenate the two arrays together (forming a third array) and then call join on it...
string strNew = String.Join(",", strArray.Concat(strArray2));
Надеюсь, это поможет!
Посмотрите String.Join().
Ваш пример должен выглядеть следующим образом:
string delimiter = ","
string[] strArray = { "Hi", "how", "are", "you" };
string strNew = String.Join(delimiter, strArray);
в этом случае String.Join(), вероятно, самый простой способ, хотя вы также можете использовать LINQ
var comSeparatedStrings = strings.Aggregate((acc, item) => acc + ", " + item);
Использовать String.Join
string[] strArray = {"Hi", "how", "are", "you"};
string strNew = String.Join("," strArray);