J'ai une liste d'entiers et je veux pouvoir la convertir en une chaîne où chaque nombre est séparé par une virgule.
Jusqu'ici exemple si ma liste était:
1
2
3
4
5
Ma sortie attendue serait:
1, 2, 3, 4, 5
Est-ce possible d'utiliser LINQ?
Merci
Dans .NET 2/3
var csv = string.Join( ", ", list.Select( i => i.ToString() ).ToArray() );
ou (dans .NET 4.0)
var csv = string.Join( ", ", list );
Est-ce ce que vous recherchez?
// Can be int[], List<int>, IEnumerable<int>, ...
int[] myIntegerList = ...;
string myCSV = string.Join(", ", myIntegerList.Select(i => i.ToString()).ToArray());
À partir de C # 4.0, le mumbojumbo supplémentaire n’est plus nécessaire, tout fonctionne automatiquement:
// Can be int[], List<int>, IEnumerable<int>, ...
int[] myIntegerList = ...;
string myCSV = string.Join(", ", myIntegerList);
string csv = String.Join(", ", list.Select(i=> i.ToString()).ToArray());
String.Join(", ", list); //in .NET 4.0
et
String.Join(", ", list
.Select(i => i.ToString()).ToArray()) //in .NET 3.5 and below