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
No answers yet.
Connectez-vous pour laisser une réponse