Я думаю многие из вас захотят проверить свои знания по C# и .NET
Под катом вы найдете интересные вопросы, представленные в виде голосования.
Проведем исследование: насколько хорошо хабраюзеры знают платформу .NET и C#?

UPG Прием ответов завершен 12 марта 2013 в 21:00.
Ответы с разбором
Прошу под кат.
Под катом вы найдете интересные вопросы, представленные в виде голосования.
Проведем исследование: насколько хорошо хабраюзеры знают платформу .NET и C#?

UPG Прием ответов завершен 12 марта 2013 в 21:00.
Ответы с разбором
Прошу под кат.
Only registered users can participate in poll. Log in, please.
1. Когда вызываются статические конструкторы классов в C#?
73.79% Один раз при первом создании экземпляра класса или при первом обращении к статическим членам класса2187
2.63% После каждого обращения к статическим полям, методам и свойствам78
9.08% Строгий порядок вызова не определен269
14.51% Статических конструкторов в C# нет430
2964 users voted. 324 users abstained.
Only registered users can participate in poll. Log in, please.
2. Каким образом можно перехватить добавление и удаление делегата из события?
14.01% Такая возможность не предусмотрена360
47.26% Для этого существуют специальные ключевые слова add и remove1214
7.43% Использовать ключевые слова get и set191
31.3% Переопределить операторы + и – для делегата804
2569 users voted. 522 users abstained.
Only registered users can participate in poll. Log in, please.
3. Что произойдет при исполнении следующего кода? int i = 5; object o = i; long j = (long)o;
57.05% Ошибок не произойдет. Переменная j будет иметь значение 51577
7.38% Произойдет ошибка времени компиляции204
33.18% Средой исполнения будет вызвано исключение InvalidCastException917
2.39% Значение переменной j предсказать нельзя66
2764 users voted. 315 users abstained.
Only registered users can participate in poll. Log in, please.
4. Выберите средства, которые предоставляет C# для условной компиляции
89.94% Директива #if2110
77.83% Директива #endif1826
60.02% Директива #else1408
7.67% Директива #typedef180
38.11% Директива #define894
20.08% Атрибут Conditional471
59.59% Директива #elseif1398
2346 users voted. 621 users abstained.
Only registered users can participate in poll. Log in, please.
5. Выберите правильные варианты, в которых пространство имен System содержит пространство имен Customizer
45.22% namespace System { namespace Customizer { } }1079
59.01% namespace System.Customizer { }1408
7.21% namespace System::Customizer { }172
27.79% Нельзя создавать собственные пространства имен в пространстве имен System663
2386 users voted. 471 users abstained.
Only registered users can participate in poll. Log in, please.
6. Чтобы использовать unsafe код в приложении, необходимо …
61.86% Компилировать код приложения с ключом /unsafe1380
4.62% Пометить методы, где используется небезопасный код с помощью ключевого слова fixed103
76.11% Пометить методы, где используется небезопасный код с помощью ключевого слова unsafe1698
15.24% Пометить методы, где используется небезопасный код атрибутом Unsafe340
2231 users voted. 515 users abstained.
Only registered users can participate in poll. Log in, please.
7. Реализацией какого паттерна (шаблона проектирования) являются события в C#?
4.68% Декоратор (Decorator)109
7.94% Посетитель (Visitor)185
82.1% Издатель-подписчик (Publisher-Subscriber)1913
5.28% Шаблонный метод (Template Method)123
2330 users voted. 474 users abstained.
Only registered users can participate in poll. Log in, please.
8. Чем отличаются константы и доступные только для чтения поля?
2.23% Ничем не отличаются55
91.68% Константы инициализируются во время компиляции, доступные только для чтения поля — во время выполнения2258
3.21% Доступные только для чтения поля инициализируются во время компиляции, константы — во время выполнения79
2.88% Константы можно изменять, а доступные только для чтения поля нет71
2463 users voted. 314 users abstained.
Only registered users can participate in poll. Log in, please.
9. Выберите элементы, которые нельзя пометить атрибутом
4.66% Классы107
4.09% Методы94
13.84% Структуры318
59.05% Возвращаемые значения1357
18.67% Интерфейсы429
31.07% Все перечисленное можно пометить атрибутом714
2298 users voted. 507 users abstained.
Only registered users can participate in poll. Log in, please.
10. Как называется технология, благодаря которой возможно взаимодействие управляемого кода (managed code) с Win32 API функциями и COM-объектами?
14.59% Reflection325
70.33% Interop1567
9.07% CodeDOM202
4.31% Remoting96
1.71% WebServices38
2228 users voted. 503 users abstained.
Only registered users can participate in poll. Log in, please.
11. Что произойдет при компиляции проекта, где используется класс, структура, интерфейс или перечисление, помеченное атрибутом Obsolete?
3.06% Произойдет ошибка компиляции, и проект не будет собран61
73.02% Будет выведено предупреждение о том, что данный тип устарел, но сборка будет создана1456
1.6% Сборка будет создана, но при запуске произойдет ошибка времени выполнения32
15.35% Атрибут Obsolete никак не влияет на компиляцию306
6.97% Нет нужного варианта ответа139
1994 users voted. 659 users abstained.
Only registered users can participate in poll. Log in, please.
12. Перечислите возможности структуры (value-типов)
51.05% Реализация интерфейсов925
78.15% Boxing и Unboxing1416
7.34% Множественное наследование133
9% Наследование от классов163
42.27% Переопределение конструктора по умолчанию766
40.56% Определение статического конструктора735
50.94% Определение индексатора923
41% Использование событий743
1812 users voted. 834 users abstained.