Мятежник, 32 точки, конечно. Код со стилем!
мятежный http://img525.imageshack.us/img525/1584/ss42po1.jpg
Как уже упоминалось, практически все, что находится в «небезопасном» блоке, может привести к поведению, определяемому реализацией; злоупотребление небезопасными блоками позволяет вам изменять байты кода, составляющие саму среду выполнения, и поэтому все ставки отключены.
Угловой случай целочисленного деления имеет поведение, определяемое реализацией.
Выдача исключения и никогда его перехват вызывает поведение, определяемое реализацией - завершение процесса, запуск отладчика и т. д.
В C # есть ряд других ситуаций, когда мы вынуждены генерировать код, поведение которого определяется реализацией. Например, такая ситуация:
http://blogs.msdn.com/ericlippert/archive/2006/04/06/odious-ambiguous-overloads-part-two.aspx
Однако ситуации, в которых Безопасно, у корректной программы на C # поведение, определяемое реализацией, должно быть довольно редким.
Согласно документу ECMA-334 (стр. 473):
Программа, не содержащая появления модификатора unsafe не может выставлять неопределенные поведение.
Это продвигает «определяемое реализацией» к худшему, см. ответ Эрика Липперта.
Глядя на Wiki, можно сказать, что ситуации, в которых происходит неопределенное поведение, либо недопустимы, либо вызывают исключение в C #.
Однако в небезопасном коде неопределенное поведение, как я полагаю, возможно, так как это позволяет использовать указатели и т. д.
Изменить: похоже, я прав: http://msdn.microsoft.com/en-us/library/aa664771%28VS.71%29.aspx
Имеет пример неопределенного поведения в C #
Не совсем в точном смысле Wiki, но я полагаю, что наиболее очевидный пример, который приходит мне в голову, - это просто написание некоторого многопоточного кода, но тогда это так на любом языке.
В общем, я бы сказал №
Используйте автоматическую переменную перед ее инициализацией.
Все переменные должны быть инициализированы. Если не возникает исключение.
Деление на ноль
Выдается исключение.
Индексирование массива за пределами границ
Выдается исключение
Как указал Aequitarum Custos, вы можете использовать небезопасный код. Опять же, это не совсем C #, вы явно отказываетесь от среды C #.