Avatar ·

Quelle est la différence entre Select et SelectMany en LINQ?

Bonjour à tous ! J'ai commencé à étudier LINQ et je n'arrive pas à comprendre la différence entre les méthodes Select et SelectMany. J'ai lu la documentation, mais les exemples sont un peu abstraits. J'ai une classe simple : ```csharp public class Student { public string Name { get; set; } public List Grades { get; set; } } ``` Et une liste d'étudiants : ```csharp var students = new List { new Student { Name = "Иван", Grades = new List { 5, 4, 3 } }, new Student { Name = "Мария", Grades = new List { 4, 5, 5 } } }; ``` Quand j'écris : ```csharp var result = students.Select(s => s.Grades); ``` J'obtiens une collection de deux listes. Et qu'en est-il de SelectMany ? Apparemment la même chose, mais pas tout à fait. J'ai essayé : ```csharp var result2 = students.SelectMany(s => s.Grades); ``` Et j'ai obtenu simplement une collection de nombres. Mais alors à quoi sert SelectMany ? Dans quelles situations réelles l'utiliser ? Ou est-ce juste du sucre syntaxique ? Expliquez-moi s'il vous plaît avec des exemples simples, quand