94 votes

Comment convertir IEnumerable<string> à une chaîne séparée par des virgules ?

Disons qu'à des fins de débogage, je souhaite obtenir rapidement le contenu d'un IEnumerable dans une chaîne d'une ligne avec chaque élément de chaîne séparé par des virgules. Je peux le faire dans une méthode d'assistance avec une boucle foreach, mais ce n'est ni amusant ni bref. Linq peut-il être utilisé ? Un autre moyen court?

150voto

한국인 Points 449
using System;
using System.Collections.Generic;
using System.Linq;

class C
{
    public static void Main()
    {
        var a = new []{
            "First", "Second", "Third"
        };

        System.Console.Write(string.Join(",", a));

    }
}

56voto

Davide Piras Points 28708
string output = String.Join(",", yourEnumerable);

String.Join, méthode (chaîne, IEnumerable

Concatène les membres d'une collection IEnumerable construite de tapez String, en utilisant le séparateur spécifié entre chaque membre.

13voto

Jan Points 10374
collection.Aggregate("", (str, obj) => str + obj.ToString() + ",");

6voto

BKSpurgeon Points 11129

(a) Configurez le IEnumerable :

         // In this case we are using a list. You can also use an array etc..
        List<string> items = new List<string>() { "WA01", "WA02", "WA03", "WA04", "WA01" };

(b) Joignez IEnumerable Together dans une chaîne :

         // Now let us join them all together:
        string commaSeparatedString = String.Join(", ", items);

        // This is the expected result: "WA01, WA02, WA03, WA04, WA01"

(c) À des fins de débogage :

         Console.WriteLine(commaSeparatedString);
        Console.ReadLine();

4voto

Wiktor Zychla Points 23918
IEnumerable<string> foo = 
var result = string.Join( ",", foo );

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