Главная » Просмотр файлов » СиППО (25-28, 42-45, 54-76)

СиППО (25-28, 42-45, 54-76) (987679), страница 9

Файл №987679 СиППО (25-28, 42-45, 54-76) (Ответы на все вопросы) 9 страницаСиППО (25-28, 42-45, 54-76) (987679) страница 92015-08-02СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 9)

Console.Write(n+”|”); //Dick|Harry|

Поскольку стандартные операторы запроса реализованы в виде методов расширения, мы можем вызвать Where непосредственно для массива names так, словно это метод экземпляра:

IEnumerable<string> filteredNames = names.Where (n => n.Length >= 4);

Чтобы можно было откомпилировать эту строчку, вы должны импортировать пространство имен System.Linq. Вот полный код примера:

using System;

using System.Linq;

class LinqDemo {

static void Main() {

string[] names = {“Tom”, “Dick”, “Harry” };

IEnumerable<string> filteredNames = names.Where (n => n.Length >= 4);

foreach (string name in filteredNames) Console.Write (name+ “|”);

}} // Результат: Dick|Harry|

Мы могли бы еще больше сократить запрос с помощью неявного приведения типа переменной filteredNames:

var filteredNames = names.Where (n => n.Length >= 4);

Большинство операторов запроса принимает лямбда-выражение в качестве аргумента. Лямбда-выражение помогает направить и сформировать запрос. В нашем примере лямбда-выражение выглядит так:

n => n.Length >= 4.

Входной аргумент соответствует входному элементу. В этом случае аргумент n представляет имя в массиве и имеет тип string. Оператор Where требует, чтобы лямбда-выражение возвращало значение типа bool. Когда оно истинно, элемент должен быть включен в исходную последовательность.

Такие запросы называются лямбда-запросами. В языке C# имеется специальный синтаксис для написания запросов, и он называется синтаксисом, облегчающим восприятие запроса. Предыдущий пример, переписанный в соответствии с эти синтаксисом:

IEnumerable<string> filteredNames =

from n in names

where n.Contains(“a”)

select n;

Лямбда-синтаксис и синтаксис, облегчающий восприятие, дополняют друг друга.



74. Обработка данных из стандартного класса List средствами LINQ

Допустим, перед нами стоит тривиальная с точки зрения программирования задача: необходимо сделать выборку данных из некоего массива (скажем, содержащего натуральные числа) по определенному критерию (только четные), а результат вывести в упорядоченном виде.

Традиционный подход предусматривает просмотр массива посредством цикла, выбор элементов, удовлетворяющих критерию, а затем их сортировку (или постепенное добавление в заведомо упорядоченный список). Реализацию в виде консольной программы демонстрирует Листинг 1 (код в комментариях не нуждается, разве что следует обратить внимание, что для сохранения результатов в виде типизированного списка использовались появившиеся в .NET 2.0 обобщения).

В реляционных СУБД (благодаря SQL) подобные задачи решаются куда элегантнее: вместо последовательного перебора данных достаточно описать искомый результат, а декларативный стиль запроса позволяет «уместить» в нем сразу несколько действий. То же самое, по сути, обеспечивает и LINQ. В Листинге 2 цикл для выборки элементов по критерию и последующей сортировки результата заменяет всего одна конструкция, которая по форме и ключевым словам очень сильно напоминает SQL – это и есть LINQ-запрос.

static void Main(string[] args){int[] arr = { 10, 5, 13, 18, 4, 24, 65, 41, 30 }; List<int> evens = new List<int>(); foreach (var number in arr){if (number % 2 == 0)evens.Add(number);} evens.Sort(); foreach (int number in evens)Console.WriteLine(number);}

Выборка и формирование упорядоченного списка элементов массива с применением LINQstatic void Main(string[] args){int[] arr = { 10, 5, 13, 18, 4, 24, 65, 41, 30 }; var evens =from number in arrwhere number % 2 == 0orderby numberselect number; foreach (int number in evens)Console.WriteLine(number); }

Добавление источника данных (еще пример):

public class Student

{

public string First { get; set; }

public string Last { get; set; }

public int ID { get; set; }

public List<int> Scores;

}

// Create a data source by using a collection initializer.

static List<Student> students = new List<Student>

{

new Student {First="Svetlana", Last="Omelchenko", ID=111, Scores= new List<int> {97, 92, 81, 60}},

new Student {First="Claire", Last="O’Donnell", ID=112, Scores= new List<int> {75, 84, 91, 39}},

new Student {First="Sven", Last="Mortensen", ID=113, Scores= new List<int> {88, 94, 65, 91}},

new Student {First="Cesar", Last="Garcia", ID=114, Scores= new List<int> {97, 89, 85, 82}},

new Student {First="Debra", Last="Garcia", ID=115, Scores= new List<int> {35, 72, 91, 70}},

new Student {First="Fadi", Last="Fakhouri", ID=116, Scores= new List<int> {99, 86, 90, 94}},

new Student {First="Hanying", Last="Feng", ID=117, Scores= new List<int> {93, 92, 80, 87}},

new Student {First="Hugo", Last="Garcia", ID=118, Scores= new List<int> {92, 90, 83, 78}},

new Student {First="Lance", Last="Tucker", ID=119, Scores= new List<int> {68, 79, 88, 92}},

new Student {First="Terry", Last="Adams", ID=120, Scores= new List<int> {99, 82, 81, 79}},

new Student {First="Eugene", Last="Zabokritski", ID=121, Scores= new List<int> {96, 85, 91, 60}},

new Student {First="Michael", Last="Tucker", ID=122, Scores= new List<int> {94, 92, 91, 91} }

};

// studentQuery is an IEnumerable<Student>

var studentQuery =

from student in students

where student.Scores[0] > 90

select student;

MSDN



75. Принципы стыковки Visual Studio с базами данных

Visual Studio предоставляет средства для подключения приложения к данным из разнообразных источников, таких как базы данных, веб-службы и объекты. При использовании средств разработки структуры данных в Visual Studio часто не требуется явно создавать объект подключения для формы или компонента. Объект подключения обычно создается в результате завершения одного из мастеров данных или перетаскивания объектов данных на форму. Чтобы подключить приложение к данным в базе данных, веб-службе или объекте, запустите Мастер конфигурации источников данных, выбрав элемент Добавить новый источник данных в Окно "Источники данных".

В следующей диаграмме показан стандартный набор операций при подключении к данным при помощи запроса к адаптеру таблиц для выборки данных и их отображения на форме приложения Windows.

При использовании Visual Studio подключения настроены с помощью Диалоговое окно "Добавить/Изменить подключение" (вкладка "Общие"). Диалоговое окно Добавить подключение появляется при редактировании или создании соединений в одном из мастеров данных, в Обозревателе серверов/Обозревателе баз данных или при изменении свойств соединения в окне Свойства.

Подключения данных автоматически настраиваются при выполнении одного из следующих действий:

Действие

Описание

Запуск Мастер конфигурации источников данных.

Подключения настраиваются при выборе пути к базе данных в Мастере настройки источника данных. Дополнительные сведения см. в разделе Практическое руководство. Подключение к данным в базе данных.

Запуск Мастер настройки адаптера таблицы.

Подключения создаются в Мастере конфигурации адаптера таблицы. Дополнительные сведения см. в разделе Практическое руководство. Создание адаптера таблицы.

Запуск Мастер настройки запроса адаптера таблицы.

Подключения создаются в Мастере конфигурации запросов к адаптеру таблиц. Дополнительные сведения см. в разделе Практическое руководство. Создание запросов TableAdapter.

Перетаскивание элементов из Окно "Источники данных" на форму Конструктор компонентов.

Объекты подключения создаются при перетаскивании элементов из окна Источники данных вWindows Forms Designer или Конструктор компонентов. Дополнительные сведения см. в разделе Отображение данных на форме в приложениях Windows.

Добавление новых подключений к данным в Обозревателе серверов/Обозревателе баз данных.

Подключения к данным в Обозревателе серверов/Обозревателе баз данных отображаются в списке доступных подключений в мастерах данных. Дополнительные сведения см. в разделе Практическое руководство. Добавление новых подключений к данным в Обозревателе серверов/Обозревателе баз данных.

Двумя основными способами подключений являются Open и Close. В методе Open используются сведения свойства ConnectionStringдля связи с источником данных и установки открытого подключения. Метод Close завершает подключение. Закрытие подключений необходимо, поскольку большинство источников данных поддерживают только ограниченное число открытых подключений и на открытые подключения отвлекаются ценные системные ресурсы.

При работе с Адаптер таблицы, DataAdapter или командами данных нет необходимости явно открывать и закрывать подключение. При вызове метода этих объектов (например, Fill или Update), метод проверяет наличие уже открытого подключения. Если подключение не открыто, адаптер открывает его, выполняет свои операции и вновь закрывает.

Методы, подобные методу Fill, открывают и закрывают подключение автоматически только в том случае, если оно еще не открыто. Если подключение открыто, методы используют его, но не закрывают. Это позволяет пользователю самостоятельно открывать или закрывать подключения. Это также можно делать, если имеется несколько адаптеров данных, которые совместно используют подключение. В этом случае открывать и закрывать подключение из каждого адаптера при вызове метода Fill было бы неэффективно. Вместо этого пользователь может открыть подключение, вызвать методы Fill для каждого адаптера, а затем закрыть подключение после завершения работы.

Подключение приложения к базе данных Microsoft Access происходит с помощью поставщика платформы .NET Framework для OleDB. Дополнительные сведения см. в разделе Общие сведения о локальных данных.

При подключении к данным в локальных файлах важно понять, как система работы с проектами в Visual Studio управляет этими файлами. Дополнительные сведения см. в разделе Практическое руководство. Управление локальными файлами данных в проекте.

Неважно, создается подключение данных в одном из мастеров данных или в Обозревателе серверов/Обозревателе баз данных, в любом случае процесс определения подключения одинаков; нужно выбрать источник данных в Диалоговые окна "Выбор источника данных" и "Смена источника данных" и добавить сведения о подключении в Диалоговое окно "Добавить/Изменить подключение" (вкладка "Общие").

Характеристики

Тип файла
Документ
Размер
1007,29 Kb
Высшее учебное заведение

Список файлов ответов (шпаргалок)

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6553
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее