多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 不安全代码和指针(C# 编程指南) 为了保持类型安全,默认情况下,C# 不支持指针算法。不过,通过使用 [unsafe](https://msdn.microsoft.com/zh-cn/library/chfa2zb8.aspx) 关键字,可以定义可使用指针的不安全上下文。有关指针的更多信息,请参见主题[指针类型](https://msdn.microsoft.com/zh-cn/library/y31yhkeb.aspx)。 | ![](https://box.kancloud.cn/2016-01-31_56adb62c1380a.jpg) 注意 | | :-- | | 在公共语言运行时 (CLR) 中,不安全代码是指无法验证的代码。C# 中的不安全代码不一定是危险的;只是其安全性无法由 CLR 进行验证的代码。因此,CLR 只对在完全受信任的程序集中的不安全代码执行操作。如果使用不安全代码,由您负责确保您的代码不会引起安全风险或指针错误。 | ## 不安全代码概述 不安全代码具有下列属性: * 方法、类型和可被定义为不安全的代码块。 * 在某些情况下,通过移除数组界限检查,不安全代码可提高应用程序的性能。 * 当调用需要指针的本机函数时,需要使用不安全代码。 * 使用不安全代码将引起安全风险和稳定性风险。 * 在 C# 中,为了编译不安全代码,必须用 [/unsafe](https://msdn.microsoft.com/zh-cn/library/ct597kb0.aspx) 编译应用程序。 ## 相关章节 有关更多信息,请参见: * [指针类型(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/y31yhkeb.aspx) * [固定大小的缓冲区(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/zycewsya.aspx) * [如何:使用指针复制字节数组(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/28k1s2k6.aspx) * [unsafe(C# 参考)](https://msdn.microsoft.com/zh-cn/library/chfa2zb8.aspx) ## C# 语言规范 有关详细信息,请参阅 [C# 语言规范](https://msdn.microsoft.com/zh-cn/library/ms228593.aspx)。该语言规范是 C# 语法和用法的权威资料。 ## 请参阅 [C# 编程指南](https://msdn.microsoft.com/zh-cn/library/67ef8sbd.aspx)