Существует 2 типа синтаксиса LINQ, которые вам необходимо изучить:
- синтаксис запроса
- синтаксис методов
Синтаксис запросов очень прост в освоении. Он имеет синтаксис SQL как запрос, но он не поддерживает все операторы запросов в LINQ. Синтаксис метода-это более мощный способ написания запросов LINQ, а также стандартный способ написания синтаксиса LINQ.
From <range variable> in <IEnumerable<T> or IQueryable<t> collection>
<standard query operators> <lambda expression>
<select or groupBy operator> <result formation>
Примечание: запрос LINQ всегда возвращает список элементов.
В этом примере я собираюсь создать простой список продуктов, а затем получить доступ ко всем элементам с помощью запроса LINQ. Это простой консольный пример.
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.
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.
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();
}
}
}
РЕЗУЛЬТАТ ФИЛЬТРАЦИИ
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();
}
}
}
