114 votes

Convertir une chaîne en liste <string> dans une ligne?

J'ai une ficelle:

 var names = "Brian,Joe,Chris";
 

Existe-t-il un moyen de convertir cela en List<string> délimité par , sur une seule ligne?

224voto

Matt Greer Points 29401
 List<string> result = names.Split(new char[] { ',' }).ToList();
 

Ou même plus propre par la suggestion de Dan:

 List<string> result = names.Split(',').ToList();
 

45voto

Nathan Anderson Points 4366

Le List<T> a un constructeur qui accepte un IEnumerable<T> :

List<string> listOfNames = new List<string>(names.Split(','));

3voto

KingOfHypocrites Points 1070

Je préfère ceci car cela empêche une seule liste d'éléments avec un élément vide si votre chaîne source est vide:

   IEnumerable<string> namesList = 
      !string.isNullOrEmpty(names) ? names.Split(',') : Enumerable.Empty<string>();
 

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