Use Split() function to slice them and ToList() to return them as a list.
var names = "Brian,Joe,Chris";
List<string> nameList = names.Split(',').ToList();
I prefer this because it prevents a single item list with an empty item if your source string is empty:
IEnumerable<string> namesList =
!string.isNullOrEmpty(names) ? names.Split(',') : Enumerable.Empty<string>();
Use the Stringify.Library nuget package
//Default delimiter is ,
var split = new StringConverter().ConvertTo<List<string>>(names);
//You can also have your custom delimiter for e.g. ;
var split = new StringConverter().ConvertTo<List<string>>(names, new ConverterOptions { Delimiter = ';' });
Split a string delimited 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
string given="Welcome To Programming";
List<string> listItem= given.Split(' ').ToList();//Split according to space in the string and added into the list
output:
Welcome
To
Programming
The List<T>
has a constructor that accepts an IEnumerable<T>
:
List<string> listOfNames = new List<string>(names.Split(','));
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(','));
Source: Stackoverflow.com