Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lektsia_9VP

.pdf
Скачиваний:
6
Добавлен:
27.05.2015
Размер:
428.63 Кб
Скачать

Язык запросов LINQ

Структура операции запроса LINQ

1)Получение источника данных.

2)Создание запроса.

3)Выполнение запроса.

2

static void Main()

{

//The Three Parts of a LINQ Query:

//1. Data source.

int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };

//2. Query creation.

//numQuery is an IEnumerable<int> var numQuery =

from num in numbers where (num % 2) == 0 select num;

//3. Query execution.

foreach (int num in numQuery)

{

Console.Write(num);

}

}

3

Операция запроса

4

var queryLondonCustomers = from cust in customers where cust.City == "London" select cust;

С сортировкой:

var queryLondonCustomers3 = from cust in customers where cust.City == "London" orderby cust.Name ascending select cust;

5

group (группировка)

//queryCustomersByCity is an IEnumerable<IGrouping<string, Customer>> var queryCustomersByCity =

from cust in customers group cust by cust.City;

//customerGroup is an IGrouping<string, Customer>

foreach (var customerGroup in queryCustomersByCity)

{

Console.WriteLine(customerGroup.Key); foreach (Customer customer in customerGroup)

{

Console.WriteLine(" {0}", customer.Name);

}

}

6

into

// custQuery is an IEnumerable<IGrouping<string, Customer>> var custQuery =

from cust in customers group cust by cust.City into

custGroup

where custGroup.Count() > 2 orderby custGroup.Key select custGroup;

7

join

class Program

{

static void Main(string[] args)

{

Customer[] customers = {

new Customer() { Name = "John", City = "NY" },

new Customer() { Name = "Pall", City = "London" } }; Customer[] distributors = {

new Customer() { Name = "Peter", City = "NY" },

new Customer() { Name = "Mich", City = "London" } }; var innerJoinQuery =

from cust in customers

join dist in distributors on cust.City equals dist.City select new { CustomerName = cust.Name,

DistributorName = dist.Name, City = cust.City };

8

join

foreach (var c in innerJoinQuery)

{

Console.WriteLine("{0} and {1} form city: {2}", c.CustomerName,

c.DistributorName,

c.City);

}

Console.ReadKey();

}

}

9

Лямбда-выражения

delegate int del(int i);

static void Main(string[] args)

{

del myDelegate = x => x * x; int j = myDelegate(5); //j = 25

}

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]