Ai-je vraiment besoin d'utiliser AsQueryable() de la collection?

Exemple de code:

List<Student> Students = new List<Student>()   
{   
    new Student(101, "Hugo", "Garcia", new List<int>() { 91, 88, 76, 93 }),  
    new Student(102, "Rick", "Adams", new List<int>() { 70, 73, 66, 90 }),  
    new Student(103, "Michael", "Tucker", new List<int>() { 73, 80, 75, 88 }),  
    new Student(104, "Fadi", "Fakhouri", new List<int>() { 82, 75, 66, 84 }),  
    new Student(105, "Peter", "Barrows", new List<int>() { 67, 78, 70, 82 })  
};

var query = from student in Students
            where student.Marks.AsQueryable().All(m => m > 70)
            select student;

foreach (Student student in query)
{
    Console.WriteLine("{0} {1}<br />", student.FirstName, student.LastName);
}

Mais si je change la requête de

var query = from student in Students
            where student.Marks.All(m => m > 70)
            select student;

Cela fonctionne aussi et produit le même résultat, alors quelle est la différence?

Une question similaire sur AsEnumerable

OriginalL'auteur Cheung | 2012-05-09