Существует 2 типа синтаксиса LINQ, которые вам необходимо изучить:
- синтаксис запроса
- синтаксис методов
Синтаксис запросов очень прост в освоении. Он имеет синтаксис SQL как запрос, но он не поддерживает все операторы запросов в LINQ. Синтаксис метода-это более мощный способ написания запросов LINQ, а также стандартный способ написания синтаксиса LINQ.
1 2 3 |
From <range variable> in <IEnumerable<T> or IQueryable<t> collection> <standard query operators> <lambda expression> <select or groupBy operator> <result formation> |
Примечание: запрос LINQ всегда возвращает список элементов.
В этом примере я собираюсь создать простой список продуктов, а затем получить доступ ко всем элементам с помощью запроса LINQ. Это простой консольный пример.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
using System; using System.Collections.Generic; using System.Linq; namespace LinqExample { class Program { static void Main(string[] args) { // Creating List IList<string> productList = new List<string>() { "Hard Disk", "Monitor", "SSD Disk", "RAM", "Processor", "Bluetooth", "Keyboard & Mouse" }; var result = from s in productList select s; foreach(string str in result) { Console.WriteLine(str.ToString()); } Console.ReadKey(); } } } |
В предыдущем примере вы выполнили свой первый запрос LINQ, который вернул весь элемент из списка. В этом примере мы будем двигаться на один шаг вперед и фильтровать результат, используя предложение where.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
using System; using System.Collections.Generic; using System.Linq; namespace LinqExample { class Program { static void Main() { // Creating List IList<string> productList = new List<string>() { "Hard Disk", "Monitor", "SSD Disk", "RAM", "Processor", "Bluetooth", "Keyboard & Mouse" }; var result = from s in productList where s.Contains("Disk") select s; foreach(string str in result) { Console.WriteLine(str.ToString()); } Console.ReadKey(); } } } |
В этой части вы узнаете, как написать синтаксис метода LINQ.Синтаксис метода LINQ использует лямбда-выражение для фильтрации и отображения результата. В следующей главе вы узнаете все о лямбда-выражении .
В этом примере программирования я создал список продуктов и использовал его в качестве источника данных, а затем отобразил все элементы, используя синтаксис метода LINQ.
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
using System; using System.Collections.Generic; using System.Linq; namespace LinqExample { class Program { static void Main() { // Creating List IList<string> productList = new List<string>() { "Hard Disk", "Monitor", "SSD Disk", "RAM", "Processor", "Bluetooth", "Keyboard & Mouse" }; var result = productList.Where(p => p.Contains("")); foreach(string str in result) { Console.WriteLine(str.ToString()); } Console.ReadKey(); } } } |
РЕЗУЛЬТАТ ФИЛЬТРАЦИИ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
using System; using System.Collections.Generic; using System.Linq; namespace LinqExample { class Program { static void Main(string[] args) { // Creating List IList<string> productList = new List<string>() { "Hard Disk", "Monitor", "SSD Disk", "RAM", "Processor", "Bluetooth", "Keyboard & Mouse" }; var result = productList.Where(p => p.Contains("Disk")); foreach(string str in result) { Console.WriteLine(str.ToString()); } Console.ReadKey(); } } } |