Я думаю многие из вас захотят проверить свои знания по C# и .NET
Под катом вы найдете интересные вопросы, представленные в виде голосования.
Проведем исследование: насколько хорошо хабраюзеры знают платформу .NET и C#?
UPG Прием ответов завершен 12 марта 2013 в 21:00.
Ответы с разбором
Прошу под кат.
Под катом вы найдете интересные вопросы, представленные в виде голосования.
Проведем исследование: насколько хорошо хабраюзеры знают платформу .NET и C#?
UPG Прием ответов завершен 12 марта 2013 в 21:00.
Ответы с разбором
Прошу под кат.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
1. Когда вызываются статические конструкторы классов в C#?
73.78% Один раз при первом создании экземпляра класса или при первом обращении к статическим членам класса2186
2.63% После каждого обращения к статическим полям, методам и свойствам78
9.08% Строгий порядок вызова не определен269
14.51% Статических конструкторов в C# нет430
Проголосовали 2963 пользователя. Воздержались 324 пользователя.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
2. Каким образом можно перехватить добавление и удаление делегата из события?
14.02% Такая возможность не предусмотрена360
47.27% Для этого существуют специальные ключевые слова add и remove1214
7.44% Использовать ключевые слова get и set191
31.27% Переопределить операторы + и – для делегата803
Проголосовали 2568 пользователей. Воздержались 522 пользователя.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
3. Что произойдет при исполнении следующего кода? int i = 5; object o = i; long j = (long)o;
57.08% Ошибок не произойдет. Переменная j будет иметь значение 51577
7.38% Произойдет ошибка времени компиляции204
33.15% Средой исполнения будет вызвано исключение InvalidCastException916
2.39% Значение переменной j предсказать нельзя66
Проголосовали 2763 пользователя. Воздержались 315 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
4. Выберите средства, которые предоставляет C# для условной компиляции
89.93% Директива #if2108
77.9% Директива #endif1826
60.07% Директива #else1408
7.68% Директива #typedef180
38.14% Директива #define894
20.09% Атрибут Conditional471
59.64% Директива #elseif1398
Проголосовали 2344 пользователя. Воздержался 621 пользователь.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
5. Выберите правильные варианты, в которых пространство имен System содержит пространство имен Customizer
45.26% namespace System { namespace Customizer { } }1079
59.02% namespace System.Customizer { }1407
7.21% namespace System::Customizer { }172
27.77% Нельзя создавать собственные пространства имен в пространстве имен System662
Проголосовали 2384 пользователя. Воздержался 471 пользователь.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
6. Чтобы использовать unsafe код в приложении, необходимо …
61.88% Компилировать код приложения с ключом /unsafe1380
4.62% Пометить методы, где используется небезопасный код с помощью ключевого слова fixed103
76.1% Пометить методы, где используется небезопасный код с помощью ключевого слова unsafe1697
15.25% Пометить методы, где используется небезопасный код атрибутом Unsafe340
Проголосовали 2230 пользователей. Воздержались 515 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
7. Реализацией какого паттерна (шаблона проектирования) являются события в C#?
4.68% Декоратор (Decorator)109
7.94% Посетитель (Visitor)185
82.1% Издатель-подписчик (Publisher-Subscriber)1912
5.28% Шаблонный метод (Template Method)123
Проголосовали 2329 пользователей. Воздержались 474 пользователя.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
8. Чем отличаются константы и доступные только для чтения поля?
2.23% Ничем не отличаются55
91.67% Константы инициализируются во время компиляции, доступные только для чтения поля — во время выполнения2257
3.21% Доступные только для чтения поля инициализируются во время компиляции, константы — во время выполнения79
2.88% Константы можно изменять, а доступные только для чтения поля нет71
Проголосовали 2462 пользователя. Воздержались 314 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
9. Выберите элементы, которые нельзя пометить атрибутом
4.66% Классы107
4.09% Методы94
13.84% Структуры318
59.08% Возвращаемые значения1357
18.68% Интерфейсы429
31.04% Все перечисленное можно пометить атрибутом713
Проголосовали 2297 пользователей. Воздержались 507 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
10. Как называется технология, благодаря которой возможно взаимодействие управляемого кода (managed code) с Win32 API функциями и COM-объектами?
14.59% Reflection325
70.32% Interop1566
9.07% CodeDOM202
4.31% Remoting96
1.71% WebServices38
Проголосовали 2227 пользователей. Воздержались 503 пользователя.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
11. Что произойдет при компиляции проекта, где используется класс, структура, интерфейс или перечисление, помеченное атрибутом Obsolete?
3.06% Произойдет ошибка компиляции, и проект не будет собран61
73.01% Будет выведено предупреждение о том, что данный тип устарел, но сборка будет создана1455
1.61% Сборка будет создана, но при запуске произойдет ошибка времени выполнения32
15.35% Атрибут Obsolete никак не влияет на компиляцию306
6.97% Нет нужного варианта ответа139
Проголосовали 1993 пользователя. Воздержались 659 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
12. Перечислите возможности структуры (value-типов)
51.02% Реализация интерфейсов924
78.13% Boxing и Unboxing1415
7.34% Множественное наследование133
9% Наследование от классов163
42.24% Переопределение конструктора по умолчанию765
40.53% Определение статического конструктора734
50.91% Определение индексатора922
40.97% Использование событий742
Проголосовали 1811 пользователей. Воздержались 834 пользователя.