Я думаю многие из вас захотят проверить свои знания по 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.71%
Один раз при первом создании экземпляра класса или при первом обращении к статическим членам класса
2173
2.65%
После каждого обращения к статическим полям, методам и свойствам
78
9.12%
Строгий порядок вызова не определен
269
14.52%
Статических конструкторов в C# нет
428
2948 users voted.
323 users abstained.
Only registered users can participate in poll. Log in, please.
2. Каким образом можно перехватить добавление и удаление делегата из события?
13.94%
Такая возможность не предусмотрена
356
47.49%
Для этого существуют специальные ключевые слова add и remove
1213
7.44%
Использовать ключевые слова get и set
190
31.13%
Переопределить операторы + и – для делегата
795
2554 users voted.
520 users abstained.
Only registered users can participate in poll. Log in, please.
3. Что произойдет при исполнении следующего кода? int i = 5; object o = i; long j = (long)o;
57.11%
Ошибок не произойдет. Переменная j будет иметь значение 5
1570
7.42%
Произойдет ошибка времени компиляции
204
33.07%
Средой исполнения будет вызвано исключение InvalidCastException
909
2.4%
Значение переменной j предсказать нельзя
66
2749 users voted.
314 users abstained.
Only registered users can participate in poll. Log in, please.
4. Выберите средства, которые предоставляет C# для условной компиляции
90.01%
Директива #if
2100
77.93%
Директива #endif
1818
60.22%
Директива #else
1405
7.67%
Директива #typedef
179
38.11%
Директива #define
889
20.15%
Атрибут Conditional
470
59.75%
Директива #elseif
1394
2333 users voted.
619 users abstained.
Only registered users can participate in poll. Log in, please.
5. Выберите правильные варианты, в которых пространство имен System содержит пространство имен Customizer
45.34%
namespace System { namespace Customizer { } }
1075
59.13%
namespace System.Customizer { }
1402
7.17%
namespace System::Customizer { }
170
27.63%
Нельзя создавать собственные пространства имен в пространстве имен System
655
2371 users voted.
470 users abstained.
Only registered users can participate in poll. Log in, please.
6. Чтобы использовать unsafe код в приложении, необходимо …
62.09%
Компилировать код приложения с ключом /unsafe
1376
4.56%
Пометить методы, где используется небезопасный код с помощью ключевого слова fixed
101
76.17%
Пометить методы, где используется небезопасный код с помощью ключевого слова unsafe
1688
15.21%
Пометить методы, где используется небезопасный код атрибутом Unsafe
337
2216 users voted.
514 users abstained.
Only registered users can participate in poll. Log in, please.
7. Реализацией какого паттерна (шаблона проектирования) являются события в C#?
4.71%
Декоратор (Decorator)
109
7.86%
Посетитель (Visitor)
182
82.12%
Издатель-подписчик (Publisher-Subscriber)
1901
5.31%
Шаблонный метод (Template Method)
123
2315 users voted.
470 users abstained.
Only registered users can participate in poll. Log in, please.
8. Чем отличаются константы и доступные только для чтения поля?
2.21%
Ничем не отличаются
54
91.71%
Константы инициализируются во время компиляции, доступные только для чтения поля — во время выполнения
2245
3.19%
Доступные только для чтения поля инициализируются во время компиляции, константы — во время выполнения
78
2.9%
Константы можно изменять, а доступные только для чтения поля нет
71
2448 users voted.
313 users abstained.
Only registered users can participate in poll. Log in, please.
9. Выберите элементы, которые нельзя пометить атрибутом
4.64%
Классы
106
4.12%
Методы
94
13.75%
Структуры
314
59%
Возвращаемые значения
1347
18.75%
Интерфейсы
428
31.19%
Все перечисленное можно пометить атрибутом
712
2283 users voted.
503 users abstained.
Only registered users can participate in poll. Log in, please.
10. Как называется технология, благодаря которой возможно взаимодействие управляемого кода (managed code) с Win32 API функциями и COM-объектами?
14.64%
Reflection
324
70.27%
Interop
1555
9.08%
CodeDOM
201
4.34%
Remoting
96
1.67%
WebServices
37
2213 users voted.
502 users abstained.
Only registered users can participate in poll. Log in, please.
11. Что произойдет при компиляции проекта, где используется класс, структура, интерфейс или перечисление, помеченное атрибутом Obsolete?
3.08%
Произойдет ошибка компиляции, и проект не будет собран
61
72.97%
Будет выведено предупреждение о том, что данный тип устарел, но сборка будет создана
1444
1.62%
Сборка будет создана, но при запуске произойдет ошибка времени выполнения
32
15.31%
Атрибут Obsolete никак не влияет на компиляцию
303
7.02%
Нет нужного варианта ответа
139
1979 users voted.
657 users abstained.
Only registered users can participate in poll. Log in, please.
12. Перечислите возможности структуры (value-типов)
51.06%
Реализация интерфейсов
918
78.03%
Boxing и Unboxing
1403
7.29%
Множественное наследование
131
8.95%
Наследование от классов
161
42.27%
Переопределение конструктора по умолчанию
760
40.82%
Определение статического конструктора
734
51%
Определение индексатора
917
41.1%
Использование событий
739
1798 users voted.
832 users abstained.