Углублённое изучение ООП. Использование LINQ
Понятие технологии LINQ, использование запросов и формализация задачи. Пример алгоритма добавления поля на главную форму с использованием функции LINQ Select. Создание дополнительного списка с альбомами выбранного исполнителя, применяя функцию LINQ Where.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 05.12.2013 |
Размер файла | 170,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНОБР НАУКИ РОССИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ» им. В.И.УЛЬЯНОВА (ЛЕНИНА)» (СПбГЭТУ)
ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ И ИНФОРМАТИКИ
КАФЕДРА СИСТЕМ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ
ЛАБОРАТОРНАЯ РАБОТА
по учебной дисциплине «Паттерны проектирования приложений»
на тему «Углублённое изучение ООП»
Часть 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 и применением его основных команд, таких как запрос информации, вывод списков по определённым критериям и сортировка результатов.
Выполнены три упражнения, по каждому из них представлен листинг программы и результаты её работы.
Размещено на Allbest.ru
Подобные документы
Шаблони багатошарової архітектури. Методика застосування LINQ to SQL при розробці програмного забезпечення засобами Visual Studio. Підвищення ефективності навчального процесу, шляхом розробки та застосування засобів візуалізації технології LINQ to SQL.
дипломная работа [1,3 M], добавлен 24.01.2015Особенности использования инструкций SELECT. Задание критериев отбора (WHERE). Объединение нескольких источников данных. Групповые операции и вычисляемые поля. Формирование и выполнение запросов в реальном времени. Параметрические запросы. Сортировка.
контрольная работа [31,1 K], добавлен 14.02.2009Создание визуального построителя запросов на извлечение данных с помощью оператора SELECT и его разделов. Постановка задачи; язык запросов SQL, общие сведения; агрегатные функции и результаты запросов. Программная реализация и алгоритм работы приложения.
курсовая работа [152,8 K], добавлен 12.08.2011Создание кнопки панели инструментов для выполнения макроса. Практический пример создания таблицы значений функций. Использование оператора Select Case. Создание процедуры с использованием операторов цикла For/Next и Do/Loop. Оператор InputBox, массив.
контрольная работа [501,8 K], добавлен 06.12.2013Создание простых и многотабличных запросов с помощью языка запросов SQL. Выполнение запроса с условием отбора. Включение всех столбцов исходной таблицы в результирующую таблицу. Выведение списка платежей с использованием псевдонимов столбцов и таблиц.
лабораторная работа [183,9 K], добавлен 13.06.2014Средства Microsoft Access, упрощающие разработку приложений. Проектирование списка сотрудников Спортивно-Оздоровительного Центра. Машинное создание таблиц базы данных, применение режима конструктора. Создание запросов и отчётов, выбор способов сортировки.
курсовая работа [4,4 M], добавлен 18.06.2014Исследование программного средства для управления базой данных с информацией о фильмах. Составление алгоритма удаления и добавления элемента в указанное место двунаправленного списка. Характеристика поиска, вывода на экран и сортировки элементов списка.
курсовая работа [94,5 K], добавлен 23.09.2011Описание технологии создания таблиц в режиме "Конструктор" в программной среде Microsoft Access. Сортировка и фильтрация данных в таблицах, создание полей с подстановкой. Пример структуры многотабличного запроса и пример создания итогового запроса.
лабораторная работа [1,6 M], добавлен 17.02.2013CTE - выражения для упрощения читаемости запросов. Однократный вызов CTE и использование CTE для рекурсивного прохода по дереву. Операторы Pivot, Unpivot, Apply. Функции ранжирования. Создание хранимой процедуры с использованием нового обработчика ошибок.
лабораторная работа [732,6 K], добавлен 24.11.2010Понятие стека как структуры данных, где элемент, занесенный первым, извлекается последним. Порядок добавления и удаления элементов списка. Реализация функций стека. Использование стека в алгоритме быстрой сортировки. Основные требования к элементам стека.
презентация [591,2 K], добавлен 22.10.2013