Посты для тега : ‘System’

Ковариантность и контравариантность

Вариантность — это то, что описывает возможность преобразования и способность делать то, что имеет смысл для типа. Например, рассмотрим следующий код, где демонстрируется ковариантность массивов, которая была возможной в С# со времен версии 1.0:

Читать далее »

StringBuilder

Поскольку объекты System. String являются неизменяемыми, иногда они становятся узким местом для эффективности, например, при сборе строки “на лету”. Для построения составной строки можно воспользоваться операцией +, как показано ниже:

Читать далее »

Локальное хранилище потока в С#

В управляемом окружении можно создавать локальное хранилище потока (thread-local storage — TLS). В зависимости от приложения, может понадобиться иметь статическое поле класса, уникальное для каждого потока, в котором используется класс. В большинстве случаев на С# сделать это очень просто.

Читать далее »

Обзор синтаксиса операторов try, catch и finally

Код внутри блока try защищен от исключений так, что если исключение сгенерировано, то исполняющая система ищет подходящий блок catch, чтобы его обработать. Независимо от того, существует или нет подходящий блок catch, если предусмотрен блок finally, он всегда выполняется, независимо от того, как поток управления покидает блок try.

Читать далее »

Исключения, сгенерированные в блоке finally, финализаторах

Возможно, но крайне нежелательно, генерировать исключения внутри блока finally. Следующий код демонстрирует пример: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 using System; using System.Collections; public class Entrypoint { static void Main() { try { try { ArrayList list = new ArrayList […]

Читать далее »

Обновление SQL Server System 10 до System 11 путем загрузки дампов баз данных System 10

Переход от System 10 к System 11 можно выполнить и по-другому: сначала установить отдельный SQL Server System 11, создав в нем все необходимые базы данных, а затем загрузить дампы этих баз данных, записанные на прежнем сервере System 10. Приведение структуры баз данных System 10 к формату System 11 будет выполнено автоматически в процессе их загрузки […]

Читать далее »

Работа со строками из внешних источников

В пределах .NET Framework все строки представлены массивами символов Unicode UTF-16. Однако часто возникает необходимость взаимодействия с внешним миром, использующим какую-то другую форму кодирования, например, UTF-8. Иногда даже взаимодействуя с другими сущностями, использующими 16-битные строки Unicode, может случиться, что в них применяется порядок следования байтов, начиная со старшего, который противоположен принятому на платформе Intel порядку […]

Читать далее »

Архитектура служб Windows

представляется как три компонента: < ![if !supportLists]>§  приложение, реализующее функциональность одной или нескольких служб (приложение-служба); < ![if !supportLists]>§  приложение, управляющее поведением службы (приложение-контроллер службы);

Читать далее »

Динамическое создание конструируемых типов

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

Читать далее »

Исключения, сгенерированные в статических конструкторах

Если исключение сгенерировано, а в стеке нет обработчика, поэтому его поиск завершается в статическом конструкторе типа, то исполняющая система обрабатывает этот случай специальным образом. Она транслирует исключение в System. TypelnitializationException и генерирует его взамен первоначального.

Читать далее »
 
Rambler's Top100