How to split() a delimited string to a List<String>

B. Clay Shannon picture B. Clay Shannon · Feb 13, 2012 · Viewed 346.6k times · Source

I had this code:

    String[] lineElements;       
    . . .
    try
    {
        using (StreamReader sr = new StreamReader("TestFile.txt"))
        {
            String line;
            while ((line = sr.ReadLine()) != null)
            {
                lineElements = line.Split(',');
                . . .

but then thought I should maybe go with a List instead. But this code:

    List<String> listStrLineElements;
    . . .
    try
    {
        using (StreamReader sr = new StreamReader("TestFile.txt"))
        {
            String line;
            while ((line = sr.ReadLine()) != null)
            {
                listStrLineElements = line.Split(',');
. . .

...gives me, "Cannot implicitly convert type 'string[]' to 'System.Collections.Generic.List'"

Answer

BrokenGlass picture BrokenGlass · Feb 13, 2012

string.Split() returns an array - you can convert it to a list using ToList():

listStrLineElements = line.Split(',').ToList();

Note that you need to import System.Linq to access the .ToList() function.