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

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

UPG Прием ответов завершен 12 марта 2013 в 21:00.
Ответы с разбором
Прошу под кат.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
1. Когда вызываются статические конструкторы классов в C#?
73.71%
Один раз при первом создании экземпляра класса или при первом обращении к статическим членам класса
2173
2.65%
После каждого обращения к статическим полям, методам и свойствам
78
9.12%
Строгий порядок вызова не определен
269
14.52%
Статических конструкторов в C# нет
428
Проголосовали 2948 пользователей.
Воздержались 323 пользователя.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
2. Каким образом можно перехватить добавление и удаление делегата из события?
13.94%
Такая возможность не предусмотрена
356
47.49%
Для этого существуют специальные ключевые слова add и remove
1213
7.44%
Использовать ключевые слова get и set
190
31.13%
Переопределить операторы + и – для делегата
795
Проголосовали 2554 пользователя.
Воздержались 520 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
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 пользователей.
Воздержались 314 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
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 пользователя.
Воздержались 619 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
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 пользователь.
Воздержались 470 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
6. Чтобы использовать unsafe код в приложении, необходимо …
62.09%
Компилировать код приложения с ключом /unsafe
1376
4.56%
Пометить методы, где используется небезопасный код с помощью ключевого слова fixed
101
76.17%
Пометить методы, где используется небезопасный код с помощью ключевого слова unsafe
1688
15.21%
Пометить методы, где используется небезопасный код атрибутом Unsafe
337
Проголосовали 2216 пользователей.
Воздержались 514 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
7. Реализацией какого паттерна (шаблона проектирования) являются события в C#?
4.71%
Декоратор (Decorator)
109
7.86%
Посетитель (Visitor)
182
82.12%
Издатель-подписчик (Publisher-Subscriber)
1901
5.31%
Шаблонный метод (Template Method)
123
Проголосовали 2315 пользователей.
Воздержались 470 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
8. Чем отличаются константы и доступные только для чтения поля?
2.21%
Ничем не отличаются
54
91.71%
Константы инициализируются во время компиляции, доступные только для чтения поля — во время выполнения
2245
3.19%
Доступные только для чтения поля инициализируются во время компиляции, константы — во время выполнения
78
2.9%
Константы можно изменять, а доступные только для чтения поля нет
71
Проголосовали 2448 пользователей.
Воздержались 313 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
9. Выберите элементы, которые нельзя пометить атрибутом
4.64%
Классы
106
4.12%
Методы
94
13.75%
Структуры
314
59%
Возвращаемые значения
1347
18.75%
Интерфейсы
428
31.19%
Все перечисленное можно пометить атрибутом
712
Проголосовали 2283 пользователя.
Воздержались 503 пользователя.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
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 пользователей.
Воздержались 502 пользователя.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
11. Что произойдет при компиляции проекта, где используется класс, структура, интерфейс или перечисление, помеченное атрибутом Obsolete?
3.08%
Произойдет ошибка компиляции, и проект не будет собран
61
72.97%
Будет выведено предупреждение о том, что данный тип устарел, но сборка будет создана
1444
1.62%
Сборка будет создана, но при запуске произойдет ошибка времени выполнения
32
15.31%
Атрибут Obsolete никак не влияет на компиляцию
303
7.02%
Нет нужного варианта ответа
139
Проголосовали 1979 пользователей.
Воздержались 657 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
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 пользователей.
Воздержались 832 пользователя.