значение.

Как правило, оператор join возвращает последовательность, состоящую из данных, полученных из двух источников. Следовательно, с помощью оператора j о in можно сформировать новый список, состоящий из элементов, полученных из двух разных источников данных. Это дает возможность организовать данные по-новому.

Ниже приведена программа, в которой создается класс Item, инкапсулирующий наименование товара и его порядковый номер. Затем в этой программе создается еще один класс InStockStatus, связывающий порядковый номер товара с булевым свойством, которое указывает на наличие или отсутствие товара на складе. И наконец, в данной программе создается класс Temp с двумя полями: строковым (string) и булевым (bool). В объектах этого класса будут храниться результаты запроса. В этом запросе оператор join используется для получения списка, в котором наименование товара связывается с состоянием его запасов на складе.

// Продемонстрировать применение оператора join.

using System; using System.Linq;

// Класс, связывающий наименование товара с его порядковым номером, class Item {

public string Name { get; set; } public int ItemNumber { get; set; }

public Item(string n, int inum) {

Name = n;

ItemNumber = inum;

}

}

// Класс, связывающий наименование товара с состоянием его запасов на складе, class InStockStatus {

public int ItemNumber { get; set; } public bool InStock { get; set; }

public InStockStatus (int n, bool b) {

ItemNumber = n;

InStock = b;

}

}

// Класс, инкапсулирующий наименование товара и // состояние его запасов на складе, class Temp {

public string Name { get; set; } public bool InStock { get; set; }

public Temp(string n, bool b) {

Name = n;

InStock = b;

}

}

class JoinDemo {

static void Main() {

Item[] items = {

new Item('Кусачки', 1424), new Item('Тиски', 7892), new Item('Молоток', 8534), new Item ('Пила', 6411)

};

InStockStatus[] statusList = {

new InStockStatus(1424, true), new InStockStatus(7892, false), new InStockStatus(8534, true),

new InStockStatus(6411, true)    4

};

// Сформировать запрос, объединяющий объекты классов Item //и InStockStatus для составления списка наименований товаров // и их наличия на складе. Обратите внимание на формирование // последовательности объектов класса Temp, var inStockList = from item in items

join entry in statusList

on item.ItemNumber equals entry.ItemNumber select new Temp(item.Name, entry.InStock);

9

Console.WriteLine('Товар^Наличиеп');

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату