Главная » C#

Оператор goto в Visual C# (Sharp)

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

Оператор  goto позволяет  передавать  управление  из  одного  места  кода  в другое. В прошлом, когда не было объектов, методов и других продвинутых конструктивов программирования, разработчики использовали оператор goto, потому что у них не было другого выхода. В настоящее время многие разработчики программного обеспечения недолюбливают оператор goto. Они считают его использование прнаком неряшливого программирования, и что его никогда не следует применять. На форуме Channel 9 (http://channelg.msdn.com/ShowPostaspx?PageIndex=I&PostID= 14652) есть хорошая дискуссия на предмет использования оператора goto.

Читать »

Типы данных в Visual C# (Sharp)

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

Тип данных представляет собой способ для описания единицы данных с помощью метаописания. Существует несколько типов данных: int, long, short, single, double, string, enum, struct и т. д. В С# можно даже определять собственные типы данных. Типы данных лежат  в основе среды  CLR и обеспечивают типовую безасность программирования.

Читать »

Как избежать взаимоблокировок в Visual C# (Sharp)

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

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

Читать »

Делегаты в Visual C# (Sharp)

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

С самого начала в языке С# применялась концепция делегатов. Делегат — это мод, не имеющий типа. Рассмотрим, например, следующее определение типа:

interface IExample { void Method();

}

Если данный интерфейс преобразовать в делегата, то код будет выглядеть так:

Читать »

Реализация движка для вычисления налогов приложения для вычисления налогов Visual C# (Sharp)

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

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

Читать »

Усовершенствование конфигурационного файла в Visual C# (Sharp)

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

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

Читать »

Добавление консольного приложения в решение Visual C#(Sharp)

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

Наше консольное приложение будет выполнять то же самое, что и приложение Windows— выводить текст "hello, world", но только не в тестовое поле, а в кооль. Чтобы добавить новый проект, составляющий консольное приложение, в рение ThreeExampies, выполните такую последовательность действий:

Читать »

Директивы препроцессора в Visual C# (Sharp)

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

Ранее в этой главе рассматривалось использование символа # и условных оператов для включения или исключения кода из компиляции. На техническом жаргоне это называется предварительной обработкой (preprocessing) кода, а операторы нываются директивами препроцессора. В табл. 6.1 приведен список директив прроцессора.

Читать »

Обобщения .NET

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

В главе 9 мы рассмотрели использование списков, делегатов и лямбда-выражений. Там же был показан пример обобщений .NET при использовании списков для управления коллекцией объектов. В этой главе мы рассмотрим обобщения  .NET более подробно, включая использование их в контексте черного ящика (т. е. когда код ничего не знает о специфике типов параметров обобщений .NET). Кроме этого, будет представлена более подробно реализация лямбда-выражений. Для демонсации этих концепций мы расширим пример электронной таблицы,  использоваый  в  главе  9.  Цель —  приобретение  хорошего  опыта  в  применении  обобщений и лямбда-выражений .NET, которые вы, скорее всего, будете использовать в своем рабочем коде. Это позволит снизить возможность возникновения неприятных сюризов при разработке проектов.

Читать »

Кодовые таблицы символов в Visual C# (Sharp)

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

Для хранения одного символа требуется 16 бит памяти, а объем памяти, занимаый строкой, зависит от количества символов в строке. Например, для хранения строки длиной в 10 символов требуется 160 бит памяти. Тип string является ссочным типом.

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

Читать »

Принципы работы наследования и компонентов Visual C# (Sharp)

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

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

Читать »

Конфигурирование приложений и динамическая загрузка в Visual C# (Sharp)

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

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

Читать »

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

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

Базовый класс BaseLinkedList применяется для предоставления вспомогательных сервисов. Поэтому данный класс можно объявлять в ядре или в сборке  опредений.  Так как это базовый  класс, то его необходимо подвергнуть всестороннему

тестированию, чтобы удостовериться  в том, что он не содержит никаких ошибок. В этом разделе мы рассмотрим один тест, который демонстрирует, что и как нужно тестировать в базовом классе.

Читать »

Дополнительные сведения о наследовании и приведении типов в Visual C# (Sharp)

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

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

Наследование

В данном разделе мы рассмотрим в  деталях  механизм  работы  наследования  в  С#. Для этого будут предоставлены семь  сценариев  использования   наследования.  Пле   каждого   примера   дается   объяснение   ключевых   аспектов,   демонстрируемых в  данном  сценарии.  Демонстрация  всех  этих  возможных  сценариев  должна  дать вам  хорошее  представление  о  механизме  работы  наследования.

Читать »

Вычисление функций – функциональное программирование

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

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

Читать »