Quel est le meilleur moyen de convertir une liste (de chaîne) en chaîne avec les valeurs séparées par une virgule (,
)
String.Join(",", myListOfStrings.ToArray())
Cela dépend de ce que vous entendez par "meilleur". La moins gourmande en mémoire consiste à calculer d'abord la taille de la chaîne finale, puis à créer un StringBuilder ayant cette capacité et à y ajouter les chaînes.
StringBuilder créera un tampon de chaîne de taille correcte. Ce tampon correspond à 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 intermédiaires ni de tableaux 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();
Ma solution:
string = ["a","2"]\n
newstring = ""
endOfString = len(string)-1
for item in string:
newstring = newstring + item
if item != string[endOfString]:
newstring = newstring ","'
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 (",")