227 votes

Convertir une liste en une chaîne de caractères séparée par des virgules.

Mon code est le suivant :

public void ReadListItem()
{
     List<uint> lst = new List<uint>() { 1, 2, 3, 4, 5 };
     string str = string.Empty;
     foreach (var item in lst)
         str = str + item + ",";

     str = str.Remove(str.Length - 1);
     Console.WriteLine(str);
}

Sortie : 1,2,3,4,5

Quel est le moyen le plus simple de convertir le List<uint> dans une chaîne de caractères séparée par des virgules ?

1voto

hitesh kumar Points 63
static void Main(string[] args) {
    List<string> listStrings = new List<string>() {"C#", "ASP.NET", "SQL Server", "PHP", "Angular"};
    string CommaSeparateString = GenerateCommaSeparateStringFromList(listStrings);
    Console.Write(CommaSeparateString);
    Console.ReadKey();
}

private static string GenerateCommaSeparateStringFromList(List<string> listStrings){return String.Join(",", listStrings);}

Convertir une liste de chaînes en chaînes séparées par des virgules en C#

0voto

ACJ Points 31

Vous pouvez également remplacer ToString() si les éléments de votre liste comportent plus d'une chaîne :

public class ListItem
{
    public string string1 { get; set; }

    public string string2 { get; set; }

    public string string3 { get; set; }

    public override string ToString()
    {
        return string.Join(
        ","
        , string1
        , string2
        , string3);
    }
}

Pour obtenir un CSV chaîne :

ListItem item = new ListItem();
item.string1 = "string1";
item.string2 = "string2";
item.string3 = "string3";

List<ListItem> list = new List<ListItem>();
list.Add(item);

string strinCSV = (string.Join("\n", list.Select(x => x.ToString()).ToArray()));

0voto

sudharsanan r Points 1
categories = ['sprots', 'news'];
categoriesList = ", ".join(categories)
print(categoriesList)

Voici le résultat : sprots, nouvelles

0voto

Fateme Mirjalili Points 737

Vous pouvez séparer les entités de la liste par une virgule comme ceci :

//phones is a list of PhoneModel
var phoneNumbers = phones.Select(m => m.PhoneNumber)    
                    .Aggregate(new StringBuilder(),
                        (current, next) => current.Append(next).Append(" , ")).ToString();

// Remove the trailing comma and space
if (phoneNumbers.Length > 1)
    phoneNumbers = phoneNumbers.Remove(phoneNumbers.Length - 2, 2);

-1voto

satish Points 1371

Vous pouvez utiliser google-collections.jar qui possède une classe utilitaire appelée Joiner :

String commaSepString = Joiner.on(",").join(lst);

Ou vous pouvez utiliser la classe StringUtils qui possède une fonction appelée rejoindre . Pour utiliser la classe StringUtils, vous devez utiliser common-lang3.jar.

String commaSepString=StringUtils.join(lst, ',');

Pour référence, consultez ce lien Convertir une collection en chaîne de caractères séparée par des virgules

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