Что лучший способ для преобразования списка (строки) в строку со значениями, разделенных запятой (,
)Преобразование Списка строки в строку, разделенный разделителем
ответ
String.Join(",", myListOfStrings.ToArray())
ta blonde moment – spacemonkeys
Единственное, что я могу добавить, это проверка null/empty перед преобразованием 'ToArray()': myListOfStrings.Where (Function (s) Not String.IsNullOrEmpty (s)). ToArray() ' –
Это зависит от того, вы имеете в виду «лучший». Наименьшая интенсивность памяти состоит в том, чтобы сначала вычислить размер конечной строки, затем создать 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();
Нет что вы имеете в виду под «лучшим», это, вероятно, не самый лучший. – mquander
@mquander: Это наименее интенсивный объем памяти, я четко заявил, что в первом абзаце. Если вам нужно сохранить нагрузку на память, это, безусловно, лучший метод. – Guffa
Не сильно отличается интенсивностью памяти. В методе Join нет промежуточной строки. Это всего лишь множество ссылок. –
Мое решение:
string = ["a","2"]\n
newstring = ""
endOfString = len(string)-1
for item in string:
newstring = newstring + item
if item != string[endOfString]:
newstring = newstring ","'
Псевдокод иногда приятный, но настоящие языковые реализации здесь предпочтительнее. –
Простое решение:
dim str as string = ""
for each item as string in lst
str += ("," & item)
next
return str.substring(1)
Это снимает первый символ из строки (",")
- 1. Преобразование списка в строку
- 2. Python преобразование строки в разделенный запятыми кортеж
- 3. Python, разделенный разделителем запятой и полосой
- 4. PostgreSQL: Преобразование массива в строку с разделителем
- 5. Преобразование списка в строку?
- 6. Преобразование столбца в строки, с разделителем "-", ";"
- 7. Преобразование списка в строку
- 8. Преобразование списка в строку
- 9. Преобразование списка в маленькую строку
- 10. Преобразование строки с разделителем тысяч в целое число в Python
- 11. Преобразование списка в строку - TCL
- 12. Преобразование списка в строки
- 13. Разделить строку с разделителем
- 14. Разбивает строку по полной строки разделителем
- 15. Преобразование двойного списка в строку
- 16. Преобразование структурированного списка в строку
- 17. преобразование элементов списка в строку
- 18. Получить строку с разделителем
- 19. Преобразование списка в строку одной строки в Баш
- 20. Преобразование времени даты в строку с разделителем «T»
- 21. Преобразование текста в строковый массив с разделителем
- 22. Преобразование списка в dict в строку
- 23. вещего преобразование списка списков в строки по столбцу
- 24. Разбиение строки с разделителем
- 25. Преобразование списка объектов KeyEvent в строку
- 26. Преобразование списка списков в строку с разделителями
- 27. Преобразование списка Panda DF в строку
- 28. Преобразование общего списка в строку CSV
- 29. Преобразование списка дат в строку диапазонов дат
- 30. R - Преобразование списка разделительных строк в строку
Почему бы не превратить это в скорости/производительности вопрос? «Какой самый быстрый способ ...» –
Не может быть лучше всего преследовать как самый быстрый и/или эффективный? – spacemonkeys