Convert string to <string> in single string?

I have a line:

var names = "Brian,Joe,Chris"; 

Is there a way to convert this to a delimited List<string> on a single line?

+80
string list generics c #
Feb 16 2018-11-11T00:
source share
6 answers
 List<string> result = names.Split(new char[] { ',' }).ToList(); 

Or even a cleaner Dan sentence:

 List<string> result = names.Split(',').ToList(); 
+164
Feb 16 2018-11-11T00:
source share

List<T> has a constructor that accepts IEnumerable<T> :

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

+36
Feb 16 '11 at 1:17
source share

I prefer this because it prevents a single list of items with an empty item if your source string is empty:

  IEnumerable<string> namesList = !string.isNullOrEmpty(names) ? names.Split(',') : Enumerable.Empty<string>(); 
+2
May 13, '14 at 0:00
source share

If you already have a list and want to add values ​​from a delimited string, you can use AddRange or InsertRange . For example:

 existingList.AddRange(names.Split(',')); 
0
Jul 07 '17 at 19:29
source share

Break the line separated by characters and return all non-empty elements.

 var names = ",Brian,Joe,Chris,,,"; var charSeparator = ","; var result = names.Split(charSeparator, StringSplitOptions.RemoveEmptyEntries); 

https://docs.microsoft.com/en-us/dotnet/api/system.string.split?view=netframework-4.8

0
Jun 19 '19 at 19:59
source share

Use the nuget Stringify.Library package

 //Default delimiter is , var split = new StringConverter().ConvertTo<List<string>>(names); //You can also have your custom delimiter for eg ; var split = new StringConverter().ConvertTo<List<string>>(names, new ConverterOptions { Delimiter = ';' }); 
-one
Mar 29 '18 at 13:51
source share



All Articles