LINQ
Этот раздел посвящен технологии LINQ
Вводная часть
Дан массив имен. Нужно выбрать имена, заканчивающие на ля.
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.
