2014-01-23 2 views
-2

В чем причина использования небезопасного кода?Причины использования небезопасного кода

  1. Прямой доступ к ОМУ и лучшей производительности
  2. Способности бросать типы не-унаследованные от Exception, более высокой производительности, а также возможность записи инлайн IL
  3. Способности писать инлайн IL и лучшую производительность
  4. более высокая производительность и больший контроль над неуправляемым Interop
  5. Больше контроля над неуправляемым Interop, более высокой производительностью и способностью писать рядный IL
+0

Кажется, что тестовый вопрос? –

+2

Должно быть, потому что большинство из них ошибочно. –

+0

Ближайшим, что я могу видеть, является вариант 4. –

ответ

2

Небезопасный код необходим, если вам нужно использовать указатели, которые должны быть редкими в .net.

Из документов here:

Использование указателей редко требуется в C#, но есть некоторые ситуации, которые требуют их. В качестве примеров, с использованием небезопасного контекста позволяют указатели гарантируется при следующих случаях:

  • Dealing с существующими структурами на диске
  • Advanced COM или Platform Invoke сценарии, включающие структуры с указателями в них
  • Performance -критический код
+0

Если указатели могут иметь дело с неуправляемым вмешательством, ответ будет 4. Я не думаю, что небезопасный используется для написания встроенного кода IL. –