Главная » C#

Групповое использование делегатов в Visual C# (Sharp)

Добавлено Дата: 16 March, 2014 категория: C#

В примерах с делегатом существует взаимно однозначное отношение. Но делегаты по  своему  существу  способны  к  групповым  взаимоотношениям.  Так,  в  примере с  итератором  для  вычисления текущей  суммы  и  максимального  значения список обрабатывается  в  цикле  только  один  раз.  Далее  приводится  модифицированный код примера, в котором вызываются две реализации делегатов в одной итерации. List<int> 1st = new List<int> { 1, 2, 3, 4 };

Читать »

Суть функционального программирования

Добавлено Дата: 16 March, 2014 категория: C#

Для полного понимания функционального программирования необходимо разбаться в его четырех основных характеристиках (http://en.wikipedia.org/wiki/ Functional_programming).

•   Функции высшего порядка. Разрешают определять функции в виде аргументов и возвращать их в виде результатов. Это позволяет выполнять с функциями опацию карринга, как будет объяснено далее.

Читать »

Реализация стандартной архитектуры в Visual C# (Sharp)

Добавлено Дата: 16 March, 2014 категория: C#

Среди разработчиков программного обеспечения в последнее время широко обсуждается тема "соглашения превыше конфигурации". Это обсуждение  пряло особенно активную форму с выходом инфраструктуры Ruby on Rails (http://www.rubyonrails.org/). Инфраструктура Ruby on Rails (или просто Rails) являет собой инструмент, позволяющий быстро создавать Web-страницы, предоавляющие полезную функциональность. Большинство разработчиков постоянно ищет способы для более быстрого выполнения задач, и Rails является одним из тих способов.

Читать »

Управление коллекциями в С# 2.0 и последующих версиях

Добавлено Дата: 15 March, 2014 категория: C#

Разработчики корпорации Microsoft усердно искали решения проблем с хранением смешанных типов и потерей производительности при операциях упаковки и расповки. После долгих дискуссий и обдумываний было предложено решение в виде обобщений .NET. Вкратце, обобщения решают обе проблемы с коллекциями, прудительно устанавливая тип. (Обобщения .NET также применяются для решения более широких проблем.)

Читать »

Многопоточная обработка в Visual C# (Sharp)

Добавлено Дата: 15 March, 2014 категория: C#

Наш мозг устроен таким образом, что мы можем выполнять несколько задач однременно, т. е. работать в режиме многозадачности, например, пить кофе, читать газету и разговаривать в одно и то же время. Но наша многозадачность ограничена довольно простыми операциями и то небольшим их количеством, двумя или тремя. Но допустим, что мы могли бы отложить текущую задачу, начать выполнение дрой, а потом отложить эту задачу и возобновить выполнение первой задачи, все это в пределах долей секунды. Сколько задач, вы думаете, мы бы смогли делать однременно? Возможно, несколько сотен, т. к. сейчас мы, по существу, исполняем задачи не в режиме многозадачности, а в режиме сериализации.

Читать »

Создание приложения перевода в Visual C# (Sharp)

Добавлено Дата: 14 March, 2014 категория: C#

Подобно приложению Калькулятор в предыдущей главе, приложение перевода ставляется из нескольких компонентов: библиотеки класса, которая выполняет певод на основе данных, доставленных пользовательским интерфейсом, компонеа тестирования и пользовательского интерфейса. Отдельные компоненты решения подобны частям мозаики, которые вместе составляют рисунок.

Читать »

Использование LINQ в других контекстах Visual C# (Sharp)

Добавлено Дата: 13 March, 2014 категория: C#

До сих пор все примеры в этой главе демонстрировали использование LINQ и обктов. Но LINQ не является технологией, ориентированной исключительно на волнение операций  поиска объектов.  Его также можно применять с языком  XML и реляционными базами данных. Использование LINQ с этими другими источнами данных не является проблемой, т. к. процесс запросов является идентичным. Но проблемой является заставить запрос работать изначально. Рассмотрим архектуру LINQ, показанную на рис. 15.1 (на основе иллюстрации в журнале MSDN Magazine, http://msdn.microsoft.com/msdnmag/issues/07/06/csharp30/default.aspx).

Читать »

Добавление комнат к группировкам приложения управления освещением в Visual C# (Sharp)

Добавлено Дата: 13 March, 2014 категория: C#

Дескриптор данных, определенный при добавлении группировки, применяется для добавления комнаты к группировке. Данный дескриптор предоставляет ссылку, которая может быть использована ядром. Так как данный дескриптор является эемпляром типа RoomGrouping, то при добавлении комнаты к группировке, исполующей дескриптор, искать данную группировку нет необходимости. Дескриптор является группировкой, и нужно всего лишь выполнить приведение типов. В слующем коде показано добавление комнаты к комнатной группировке:

Читать »

Реализация ядра приложения управления освещением в Visual C# (Sharp)

Добавлено Дата: 13 March, 2014 категория: C#

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

Далее приводится пример  реализации метода DimLights для плавного понижения уровня освещения С ПОМОЩЬЮ класса LightingController:

Читать »

Работа с отладчиком в Visual C# (Sharp)

Добавлено Дата: 13 March, 2014 категория: C#

Отладчик Visual С# Express позволяет наблюдать за процессом выполнения прожения. Запустить его можно, выбрав последовательность команд меню Debug | Start Debugging или нажав клавишу <F5>.

Читать »

Что такое спрэд? Приложение обмена валют в Visual C# (Sharp)

Добавлено Дата: 12 March, 2014 категория: C#

Знаете ли вы, что при обмене одной валюты на другую официальная плата за предение транзакции  никогда  не  взимается?  При  обмене  валюты  в  аэропорту  или в обменном пункте, с вас не должны удерживать плату за услугу обмена. Вы, нерное, удивляетесь,  как же люди зарабатывают деньги,  выдавая одну валюту взен другой. Ответ на этот вопрос состоит в специфике работы обмена валюты.

Читать »

Организация приложения управления освещением в Visual C# (Sharp)

Добавлено Дата: 12 March, 2014 категория: C#

Пока представим, что мы не разрабатываем  программное  обеспечение,  а строим дом, который собираемся оборудовать центрально-управляемой осветительной системой. Лампочки, светильники, котроллер, управляющий системой, и прочие компоненты системы — все от разных производителей. Несмотря на это обстоельство, все эти компоненты, собранные в одну систему, работают друг с другом без проблем. Это возможно благодаря тому, что все производители различных оетительных компонентов придерживаются определенного стандарта.

Читать »

Выполнение алгоритма поиска в глубину в Visual C# (Sharp)

Добавлено Дата: 12 March, 2014 категория: C#

Все необходимые компоненты алгоритма поиска в глубину, включая тесты, были реализованы, и теперь мы готовы приступить к его тестированию. Для первого теа попробуем найти маршрут между Монреалем и Сиэтлом. На рис. 4.7 можно веть, что существуют два варианта этого маршрута: через Лос-Анджелес и через Торонто. Но наш алгоритм выдает следующий, довольно странный, результат (мы не рассматривали, как выводить результаты на экран, но это довольно легко сдать, применив оператор цикла for для обработки массива foundRoute, который содержит города найденного маршрута):

Читать »

Знакомство с LINQ в Visual C# (Sharp)

Добавлено Дата: 11 March, 2014 категория: C#

В предыдущей главе мы узнали, как обращаться к базе данных посредством традионных технологий ADO.NET. При запросе ADO.NET вызываются процедуры яза SQL, а возвращенный набор результатов упорядочивается также с помощью SQL.

Язык LINQ (Language Integrated Query, язык интегрированных запросов) позволяет организовывать результаты запроса в единообразном формате, независимо от иочника данных. Спрашивается, зачем нужна еще одна технология запросов? Ответ на этот вопрос имеет отношение к языку XML.

Читать »

Работа с электронной таблицей в Visual C# (Sharp)

Добавлено Дата: 10 March, 2014 категория: C#

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

Вычисление среднего значения

Читать »