Search code examples
c#listerror-handlingtype-conversiontoarray

Converting a list to an array with ToArray()


I've created a class called listItem and the following list:

List<listItem> myList = new List<listItem>();

At some point in my code, I want to convert it to an array, thereby using:

listItem[] myArray = myList.ToArray();

Unfortunately, this doesn't work, and I get this error message:

Cannot convert [...] listItem[] to [...] List<listItem>

I tried to figure this out, but very unsuccessfully...

Thanks in advance.

EDIT: My bad, the first code line I wrote was indeed mistyped!

Actually, all the code above works pretty well. My error was due to the fact that my function:

List<listItem> myFunction()

returned myArray, hence the conversion problem... It is now fixed. :)

Thank you all for your answers.


Solution

  • This is the error (as pointed out from Darkshadw and Jon Skeet)

    listItem myList = new List<listItem>();
    

    You are assigning the value of a List to a listItem.

    Replace it with

    List<listItem> myList = new List<listItem>();
    

    to create a list of listItem. Then

    listItem[] myArray = myList.ToArray();
    

    will work.