53 votes

Méthode la plus courte pour convertir un tableau en chaîne de caractères en c#/LINQ

Fermé en tant que duplicata exact de cette question .

J'ai un tableau/une liste d'éléments. Je veux le convertir en une chaîne de caractères, séparée par un délimiteur personnalisé. Par exemple :

[1,2,3,4,5] => "1,2,3,4,5"

Quel est le moyen le plus court/le plus efficace de faire cela en C# ?

J'ai toujours fait cela en faisant tourner la liste et en vérifiant si l'élément actuel n'est pas le dernier avant d'ajouter le séparateur.

for(int i=0; i<arr.Length; ++i)
{
    str += arr[i].ToString();
    if(i<arr.Length)
        str += ",";
}

Existe-t-il une fonction LINQ qui peut m'aider à écrire moins de code ?

145voto

Mehrdad Afshari Points 204872
String.Join(",", arr.Select(p=>p.ToString()).ToArray())

39voto

David Schmitt Points 29384
String.Join(",", array.Select(o => o.ToString()).ToArray());

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X