English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans la section précédente, vous avez découvert la syntaxe de requête LINQ. Ici, vous découvrirez la syntaxe des méthodes.
La syntaxe des méthodes (également appelée syntaxe fluide) utilise les extensions incluses dans les classes statiques Enumerable ou Queryable, de la même manière que vous appelez une extension méthode de n'importe quelle classe.
Le compilateur convertit la syntaxe de requête en syntaxe des méthodes au moment de la compilation.
Voici un exemple de requête en syntaxe des méthodes LINQ qui retourne un ensemble de chaînes contenant le mot "Tutorials".
// Ensemble de chaînes IList<string> stringList = new List<string>() { "Tutoriels C#", "Tutoriels VB.NET", "Apprendre C++", "MVC Tutorials", "Java" }; // Syntaxe de requête LINQ var result = stringList.Where(s => s.Contains("Tutorials"));
La figure suivante explique la structure de la syntaxe des méthodes LINQ.
Comme illustré ci-dessus, la syntaxe des méthodes inclut les extensions et les expressions lambda. L'extension méthode Where () définie dans la classe Enumerable.
Si vous examinez la signature de l'extension méthode Where, vous verrez que la méthode Where accepte une Delegate predicate Func<Student,bool>。Cela signifie que vous pouvez passer n'importe quelle fonction déléguée acceptant un objet Student en tant que paramètre d'entrée et renvoyant une valeur booléenne, comme illustré ci-dessous. L'expression lambda est utilisée comme délégué transmis à la clause Where. Dans la section suivante, nous étudierons les expressions lambda.
L'exemple suivant montre comment utiliser la syntaxe des méthodes LINQ avec les ensembles IEnumerable <T>.
// Collection d'étudiants IList<Student> studentList = new List<Student>() { new Student() { .StudentID = 1, StudentName = "John", Age = 13} new Student() { .StudentID = 2, StudentName = "Moin", Age = 21 } new Student() { .StudentID = 3, .StudentName = "Bill", .Age = 18 } new Student() { .StudentID = 4, .StudentName = "Ram", .Age = 20}, new Student() { .StudentID = 5, .StudentName = "Ron", .Age = 15 } }; // La syntaxe de méthode LINQ trouve des étudiants adolescents var teenAgerStudents = studentList.Where(s => s.Age > 12 Et s.Age < 20) .ToList<Student>();
// Collection d'étudiants Dim studentList = New List(Of Student) From { New Student() With {.StudentID = 1, .StudentName = "John", .Age = 13} New Student() With {.StudentID = 2, .StudentName = "Moin", .Age = 21} New Student() With {.StudentID = 3, .StudentName = "Bill", .Age = 18} New Student() With {.StudentID = 4, .StudentName = "Ram", .Age = 20}, New Student() With {.StudentID = 5, .StudentName = "Ron", .Age = 15} } // La syntaxe de méthode LINQ trouve des étudiants adolescents Dim teenAgerStudents As IList(Of Student) = studentList.Where(Function(s) s.Age > 12 Et s.Age < 20) .ToList()
Comme son nom l'indique,Syntaxe de méthodeComme appeler une méthode d'extension.
LINQSyntaxe de méthodeAlso appelé syntaxe fluide (syntaxe fluide), car elle permet une série d'appels de méthodes d'extension.
Variable de type implicite-var peut être utilisé pour enregistrer le résultat de la requête LINQ.