AsEnumerable() in Linq

AsEnumerable() method in Linq is used to cast or convert given type into it's IEnumerable type. AsEnumerable() basically changes the compile time type of given type that implements IEnumerable to IEnumerable itself.

Sample code to use AsEnumerable() in Linq

 protected void Page_Load(object sender, EventArgs e)
  {
      var numArray = new int[5];
      numArray[0] = 5;
      numArray[1] = 10;
      numArray[2] = 7;
      numArray[3] = 9;
      numArray[4] = 1;

      var numbers = numArray.AsEnumerable();
      foreach (var number in numbers)
       {
          Console.WriteLine(number);
       }
  }

Convert ToList() in Linq

In C# Linq, there is .ToList() extension method that is used to convert IEnumerable to List of type. Like .ToArray(), ToList() also forces immediate query execution and stores query result in List.

Example that shows how to convert array to list

 protected void Page_Load(object sender, EventArgs e)
  {
     string[] language = { "C#", "C++", "Java", "Pascal", "Cobol" };
     List languageList = language.ToList();

     foreach (string lang in languageList)
     {
                Console.WriteLine(lang);
     }
  }

Convert ToArray in linq

In C# while using Linq, we have .ToArray() extension method that is used to convert IEnumerable to an array. .ToArray() forces immediate query execution and stores query result in an array.

Example of Linq .ToArray()

 public partial class LinqToArray : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

            var carslist =
                new List 
                        { new Cars { Company = "Maruti Suzuki", Average = 15.2 },
                          new Cars { Company = "Mercedes", Average = 18.7 },
                          new Cars { Company = "Volvo", Average = 20.0 },
                          new Cars { Company = "Hundai", Average = 12.8 } };

            var companies = carslist.Where(c => c.Average > 15)
                                         .Select(c => c.Company)
                                         .ToArray();

            foreach (var company in companies)
            {
                Console.WriteLine(company);
            }
        }

    public class Cars
    {
        public string Company { get; set; }
        public double Average { get; set; }
    }

Output:
   /*
     //Maruti Suzuki
     // Mercedes
     // Volvo
   */

In above sample code we have converted List to array using linq.