日期:2014-05-18  浏览次数:20840 次

C#中提到不安全代码,什么叫不安全代码
C#中提到不安全代码,什么叫不安全代码

------解决方案--------------------
为了保持类型安全,默认情况下,C# 不支持指针运算。不过,通过使用 unsafe 关键字,可以定义可使用指针的不安全上下文。
在公共语言运行库 (CLR) 中,不安全代码是指无法验证的代码。C# 中的不安全代码不一定是危险的,只是其安全性无法由 CLR 进行验证的代码。因此,CLR 只对在完全受信任的程序集中的不安全代码执行操作。如果使用不安全代码,由您负责确保您的代码不会引起安全风险或指针错误。
不安全代码具有下列属性:

方法、类型和可被定义为不安全的代码块。

在某些情况下,通过移除数组界限检查,不安全代码可提高应用程序的性能。

当调用需要指针的本机函数时,需要使用不安全代码。

使用不安全代码将引起安全风险和稳定性风险。

在 C# 中,为了编译不安全代码,必须用 /unsafe 编译应用程序。