LINQ (Language-Integrated Query) это интегрированный язык запросов.
Для работы с LINQ используется пространство имен
System.Linq
C#
Создаем новое C# консольное приложение... и напишем код
using System;
using System.Collections.Generic;
// подключаем библиотеку Linq
using System.Linq;
namespace ConsoleApplication1
{
// класс Игрок
class Player
{
public string Name;
public int Age;
}
// вход программы
class Program
{
static void Main(string[] args)
{
// создаем список
List<Player> players = new List<Player>();
// заполняем список
players.Add(new Player() { Name = "Женя", Age = 39 });
players.Add(new Player() { Name = "Вася", Age = 25 });
players.Add(new Player() { Name = "Петя", Age = 31 });
players.Add(new Player() { Name = "Коля", Age = 47 });
// отсортируем список по Age (используем Linq)
IEnumerable<Player> result = from item in players orderby item.Age select item;
// покажем отсортированный результат на экране
foreach(Player value in result)
Console.WriteLine("Name={0}, Age={1}", value.Name, value.Age);
}
}
}
На заметку!
Любой
LINQ запрос выдает результат в виде
IEnumerable<T> или
IQueryable<T>.
Если мы напишем
LINQ выдать резльтат в виде
IEnumerable<T> то и получим
IEnumerable<T>.
В пример
LINQ возращает результат в виде
IEnumerable<T>.
Мы можем дальше преобразовать
IEnumerable<T> в List или использовать еще методы фильтрации.
Для
IEnumerable<T> есть
методы расширения Any, Select, Sum, ToList, ToArray, Where, и другие... (для фильтрации элементов, получения массива элементов, поиска элемента и т.д.)