Углублённое изучение ООП.
Использование LINQ
LINQ (Language-Integrated Query) — это название набора технологий, основанных на интеграции возможностей запроса непосредственно в язык C# (а также в Visual Basic и, возможно, в любые другие языки .NET). В этом упражнении в форме необходимо создать ещё один список, в который будут выведены альбомы выбранного исполнителя. Для реализации задачи следует использовать функцию LINQ Where. В упражнении… Читать ещё >
Углублённое изучение ООП. Использование LINQ (реферат, курсовая, диплом, контрольная)
МИНОБР НАУКИ РОССИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ „ЛЭТИ“ им. В.И.УЛЬЯНОВА (ЛЕНИНА)» (СПбГЭТУ) ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ И ИНФОРМАТИКИ КАФЕДРА СИСТЕМ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ ЛАБОРАТОРНАЯ РАБОТА по учебной дисциплине «Паттерны проектирования приложений«
на тему «Углублённое изучение ООП«
Часть 1−2 «Использование LINQ«
Выполнили:
Соловьёв С.П.
Ярославцева В.А.
Группа: 9301
Факультет: КТИ Проверил: Новакова Н.Е.
Санкт-Петербург 2012
Цель работы: Научиться пользоваться LINQ и его основными функциями.
Общие сведения
LINQ (Language-Integrated Query) — это название набора технологий, основанных на интеграции возможностей запроса непосредственно в язык C# (а также в Visual Basic и, возможно, в любые другие языки .NET).
Для разработчиков, создающих запросы, наиболее очевидная «встроенная в язык» часть LINQ — это выражение запросов. При помощи синтаксиса запросов можно выполнять сложные операции фильтрация, упорядочения и группировки в источниках данных, причем для этого требуется крайне небольшой объем кода.
Запрос представляет собой выражение, получающее данные из источника данных. Запросы обычно выражаются на специальном языке запросов.
Подготовка к выполнению лабораторной работы
1. Откройте Visual Studio.
2. Создайте новый проект типа Windows Forms Application с названием OopLabs.Linq.
3. Добавьте в проект файл Artist.cs.
4. Изучите описание класса Album. Класс хранит информацию о музыкальном альбоме:
имя исполнителя, название, дату выхода. Кроме того, определение класса включает статический метод Album. GetAlbums (), возвращающий список некоторых альбомов нескольких групп.
Формализация задачи
Рисунок 1.
Упражнение 1 — Вывод списка групп
В упражнении 1 необходимо добавить на главную форму поле (список), куда будут выводиться список исполнителей. Для отображения коллекции нужно использовать функцию LINQ Select ().
Листинг программы
using System;
using System.Collections.Generic;
using System. ComponentModel;
using System. Data;
using System. Linq;
using System. Text;
using System.Windows.Forms;
namespace OopLabs. Linq
{
public partial class Form1: Form
{
public Form1()
{
InitializeComponent ();
listBox1.DataSource = Album. GetAlbums ()
Select (album => album. Artist)
Distinct ()
ToList ();
}
}
}
Рисунок 2. Список исполнителей
Упражнение 2 — Вывод альбомов для групп
В этом упражнении в форме необходимо создать ещё один список, в который будут выведены альбомы выбранного исполнителя. Для реализации задачи следует использовать функцию LINQ Where.
Листинг программы
using System;
using System.Collections.Generic;
using System. ComponentModel;
using System. Data;
using System. Linq;
using System. Text;
using System.Windows.Forms;
namespace OopLabs. Linq
{
public partial class Form1: Form
{
public Form1()
{
InitializeComponent ();
listBox1.DataSource = Album. GetAlbums ()
Select (album => album. Artist)
Distinct ()
ToList ();
}
private void listBox1_SelectedIndexChanged (object sender, EventArgs e)
{
listBox2.DataSource = Album. GetAlbums ()
Where (album => (listBox1.SelectedItem.ToString () == album. Artist))
ToList ();
}
}
}
Рисунок 3. Список альбомов исполнителя запрос функция linq select
Рисунок 4. Список альбомов исполнителя
Упражнение 3 — Сортировка списков исполнителей и альбомов
В этом упражнении необходимо сделать так, чтобы альбомы сортировались по дате выхода от более поздних к более ранним. Для выполнения задачи используется функция OrderByDescending (). Так же, используя функцию OrderBy (), необходимо сортировать список исполнителей в алфавитном порядке.
Листинг программы
using System;
using System.Collections.Generic;
using System. ComponentModel;
using System. Data;
using System. Linq;
using System. Text;
using System.Windows.Forms;
namespace OopLabs. Linq
{
public partial class Form1: Form
{
public Form1()
{
InitializeComponent ();
listBox1.DataSource = Album. GetAlbums ()
Select (album => album. Artist)
OrderBy (album =>album)
Distinct ().ToList ();
}
private void listBox1_SelectedIndexChanged (object sender, EventArgs e)
{
listBox2.DataSource = Album. GetAlbums ()
Where (album => (listBox1.SelectedItem.ToString () == album. Artist))
OrderByDescending (album=>album.Date)
ToList ();
}
}
}
Рисунок 5. Вывод отсортированных исполнителей и альбомов
Вывод: В результате выполнения лабораторной работы мы ознакомились с LINQ и применением его основных команд, таких как запрос информации, вывод списков по определённым критериям и сортировка результатов.
Выполнены три упражнения, по каждому из них представлен листинг программы и результаты её работы.