Каков наилучший способ преобразования списка (строки) в строку со значениями, разделенными запятой (,
)
Преобразование списка строк в строку, разделенных разделителем
Ответ 1
String.Join(",", myListOfStrings.ToArray())
Ответ 2
Это зависит от того, что вы подразумеваете под "лучшим". Наименьшая интенсивность памяти состоит в том, чтобы сначала вычислить размер конечной строки, а затем создать 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();
Ответ 3
Мое решение:
string = ["a","2"]\n
newstring = ""
endOfString = len(string)-1
for item in string:
newstring = newstring + item
if item != string[endOfString]:
newstring = newstring ","'
Ответ 4
Простое решение:
dim str as string = ""
for each item as string in lst
str += ("," & item)
next
return str.substring(1)
Он вынимает первый char из строки (",")