Quelle est la meilleure façon de convertir une liste (de chaîne) à une chaîne avec les valeurs séparées par une virgule (,
)Convertir liste de chaînes à une chaîne séparée par un délimiteur
Répondre
String.Join(",", myListOfStrings.ToArray())
ta blonde moment – spacemonkeys
La seule chose que je pourrais ajouter est une vérification null/vide avant la conversion 'ToArray()': 'myListOfStrings.Where (Fonction (s) Not String.IsNullOrEmpty (s)). ToArray()' –
Cela dépend de ce que vous voulez dire par "meilleur". Le moins gourmand en mémoire est de calculer d'abord la taille de la chaîne finale, puis de créer un StringBuilder avec cette capacité et d'y ajouter les chaînes. Le StringBuilder va créer un tampon de chaîne avec la bonne taille, et ce tampon est ce que vous obtenez de la méthode ToString en tant que chaîne. Cela signifie qu'il n'y a pas de chaînes ou de tableaux intermédiaires supplémentaires créés.
// 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();
Non Peu importe ce que vous entendez par "meilleur" ce n'est probablement pas le meilleur. – mquander
@mquander: C'est le moins gourmand en mémoire, je l'ai clairement dit dans le premier paragraphe. Si vous avez besoin de réduire la charge mémoire, c'est clairement la meilleure méthode. – Guffa
Pas beaucoup de différence en termes d'intensité de la mémoire. Il n'y a pas de chaîne intermédiaire dans la méthode Join. C'est juste le tableau des références. –
Ma solution:
string = ["a","2"]\n
newstring = ""
endOfString = len(string)-1
for item in string:
newstring = newstring + item
if item != string[endOfString]:
newstring = newstring ","'
Le pseudocode est parfois sympa mais les implémentations de langage réelles sont préférées ici. –
Une solution simple:
dim str as string = ""
for each item as string in lst
str += ("," & item)
next
return str.substring(1)
Il enlève le premier caractère de la chaîne (",")
- 1. Un moyen facile de concaténer la liste de chaînes en une chaîne séparée par des virgules, où les chaînes sont membres d'un objet?
- 2. Colonne séparée par des virgules séparées par des données SQL sur le délimiteur
- 3. Comment feriez-vous une chaîne séparée par des virgules d'une liste?
- 4. Conversion de liste dans une liste séparée par des virgules avec linq?
- 5. Convertir la liste de chaînes en liste int
- 6. Comment analyser rapidement une liste de chaînes
- 7. Convertir un nombre à une liste d'entiers
- 8. Comment convertir une chaîne en un tableau de chaînes contenant un caractère chacune
- 9. Usinq Linq permet de sélectionner des éléments dans une chaîne séparée par une virgule.
- 10. Comment puis-je déterminer si une liste est juste une chaîne ou une liste de chaînes?
- 11. Convertir la liste (de l'objet) en Liste (de la chaîne)
- 12. Stockage d'une liste séparée par des virgules dans un champ à l'aide de nHibernate
- 13. Chaîne séparée avec séparateur # @ #
- 14. Ordre SQL Par liste de chaînes?
- 15. Obtenir un nombre à partir d'une chaîne de chaînes SQL
- 16. C# regex pour correspondre à une chaîne qui a un délimiteur
- 17. Délimiteur pour la valeur de chaîne pour la réponse Ajax
- 18. liste IEnumerable par chaîne override
- 19. Chaîne séparée créée en boucle
- 20. Convertir la liste des longs en tableau de chaînes
- 21. convertir une chaîne à un format de date
- 22. Comma SQL liste séparée de plusieurs colonnes
- 23. C# - Convertir un tableau de type à une liste générique
- 24. Convertir une chaîne de base25 à chaîne binaire en Java
- 25. asp.net Convertir une chaîne CSV en chaîne []
- 26. Convertir une chaîne en double - Java
- 27. Chaîne de connexion séparée pour différents environnements
- 28. Créer un menu PyQt à partir d'une liste de chaînes
- 29. Méthode la plus courte pour convertir un tableau en chaîne en C#/LINQ
- 30. Convertir deux à chaîne
Pourquoi ne pas transformer cela en une vitesse/performances question? "Quelle est la façon la plus rapide de ..." –
Ne peut pas être interprété comme le plus rapide ET/OU efficace? – spacemonkeys