포인터를 이해하고 C# 코드에서 사용할 필요가 거의 없습니다. 내 질문은 : 코드 블록에 "안전하지 않은"상태를 명시해야하는 이유는 무엇입니까? 또한 "안전하지 않은"코드를 허용하기 위해 컴파일러 옵션을 변경해야하는 이유는 무엇입니까?C# : 명시 적으로 "안전하지 않은"/ 컴파일러 옵션을 명시하는 이점
결론 : 무엇 CLR (또는 언어 사양)에서 우리가 원하는 때마다 그래서 우리가 (많은 C 및 C++ 등) "안전하지 않은"입력하고 컴파일러 옵션을 변경하지 않고 포인터를 사용할 수 있습니다 ?
설명 : "안전하지 않은"코드와 "안전한"코드가 무엇인지 알고 있습니다. 그것은 단지 이러한 기능을 사용할 수 있도록하기 위해 왜 우리가 모든 추가 작업을해야하는지에 대한 질문입니다.
기본적으로 C++에서 작성하는 것이 훨씬 쉬운 것처럼 실수를 저지르는 것을 시도하는 MS가 있습니까? – Inisheer
낮은 수준의 API 호출을하거나 포인터 산술을 사용하거나 다른 부적절한 작업을 수행하는 MS : C# 코드에서 unsafe 키워드로 표시된 블록 안에 배치해야합니다. – VBNight
# 보낸 사람 MS : 경우에 따라 안전하지 않은 코드는 배열 범위 검사를 제거하여 응용 프로그램의 성능을 향상시킬 수 있습니다. – VBNight