Преобразовать список строк в строку, разделенную разделителем - PullRequest
35 голосов
/ 15 апреля 2009

Какой лучший способ преобразовать список (из строки) в строку со значениями, разделенными запятой (,)

Ответы [ 4 ]

108 голосов
/ 15 апреля 2009
String.Join(",", myListOfStrings.ToArray())
1 голос
/ 15 апреля 2009

Это зависит от того, что вы подразумеваете под «лучшим». Наименее интенсивное использование памяти - сначала рассчитать размер окончательной строки, затем создать StringBuilder с такой емкостью и добавить в него строки.

StringBuilder создаст строковый буфер с правильным размером, и этот буфер - то, что вы получаете из метода ToString как строку. Это означает, что дополнительные промежуточные строки или массивы не создаются.

// specify the separator
string separator = ", ";

// calculate the final length
int len = separator.Length * (list.Count - 1);
foreach (string s in list) len += s.Length;

// put the strings in a StringBuilder
StringBuilder builder = new StringBuilder(len);
builder.Append(list[0]);
for (int i = 1; i < list.Count; i++) {
   builder.Append(separator).Append(list[i]);
}

// get the internal buffer as a string
string result = builder.ToString();
0 голосов
/ 08 февраля 2016

Простое решение:

dim str as string = ""
for each item as string in lst
  str += ("," & item)
next
return str.substring(1)

Снимает первый символ из строки (",")

0 голосов
/ 08 декабря 2011

Мое решение:

string = ["a","2"]\n
newstring = ""
endOfString = len(string)-1
for item in string:
    newstring = newstring + item
if item != string[endOfString]:
    newstring = newstring ","'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...