LINQ

Этот раздел посвящен технологии LINQ

101 LINQ Samples

Вводная часть

Дан массив имен. Нужно выбрать имена, заканчивающие на ля.

string[] aNames = { "Наташа", "Оля", "Коля", "Саша", "Толя", "Вера" };

var results = from name in aNames
             where name.EndsWith("ля")
             select name;

foreach (var item in results)
    MessageBox.Show(item);

Если вы работали с запросами SQL, то увидите определенное сходство в этом примере. Только запрос составлен задом наперед. К этому придется привыкать.

При помощи LINQ удобно работать с XML-файлами. Вот например, у нас имеется информация о некоторых книгах: название книги, ее автор. Нам нужно получить список произведений, написанных определенным автором.

XElement books = XElement.Parse(
    @"

      
      Война и мир
      Лев Толстой
      

      
      Дубровский
      Александр Пушкин
      

      
      Преступление и наказание
      Федор Достоевский
      

      ");

var titles =
    from book in books.Elements("book")
    where (string)book.Element("author") == "Александр Пушкин"
    select book.Element("title");

foreach (var title in titles)
    MessageBox.Show(title.Value);

В нашем примере Александр Пушкин является автором одной книги, но могло быть и больше.

Мой блог, посвященный .NET Framework.