System.Array. does not contain a definition for “ToList”

后端 未结 5 2121
南方客
南方客 2021-02-11 14:23

I\'m getting the above error on the ToList() line of the code below

if (emailReplyTo != null)
{
  System.Collections.Generic.List replyto
    = ema         


        
相关标签:
5条回答
  • 2021-02-11 15:02

    In case someone stumbles on this questions after googling...

    I had the exact same problem in Razor views and adding using System.Linq at the top didn't help.

    What did help is calling .Cast() before using Linq extension methods:

    myArrayVariable.Cast<SomeClass>().ToList() //ok, NOW ToList works fine
    
    0 讨论(0)
  • 2021-02-11 15:14

    You can also do this without .toList, saves including an entire library for no real reason.

    new List(array)

    0 讨论(0)
  • 2021-02-11 15:25

    ToList() is an extension method. Maybe you're missing the

    using System.Linq;
    
    0 讨论(0)
  • 2021-02-11 15:27

    The ToList method you are looking for is an extension method. Try adding this using directive to the top of your file:

    using System.Linq;
    

    By adding this using directive you are indicating to the compiler that any extension methods in that namespace should be imported. It's kind of a shame that there isn't more help from Visual Studio around importing extension methods (ReSharper does this rather nicely).

    0 讨论(0)
  • 2021-02-11 15:27

    This is simply because ArrayList does not expose a method named ToList.

    See this MSDN page for a table view of the members available to you.

    As explained by others, you may access this extension method by importing the Linq library:

    using System.Linq;
    

    Also, see this link for a custom implementation of such, should you desire to implement one.

    0 讨论(0)
提交回复
热议问题