- QQ群:1040082875
大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。
一、前言
今天遇到一个错误,就是提示使用了不安全的代码,如下图所示:
这应该是插件或者自己脚本中使用了不安全unsafe的代码。
二、什么是unsafe
2-1、什么是unsafe不安全代码
默认情况下,C#是不支持 指针 的,unsafe 关键词用于在C#表示不安全的上下文,如果想要在C#中进行任何和指针相关的操作,就必须配合unsafe关键词使用。
在公共语言运行时(CLR)中,不安全代码是指无法验证的代码。
C# 中的不安全代码不一定是危险的,只是 CLR 无法验证该代码的安全性。因此,CLR 将仅执行完全信任的程序集中的不安全代码。
如果你使用不安全代码,你应该负责确保代码不会引发安全风险或指针错误。
2-2、解决报错
在菜单栏找到File→Build Setting→Player Setting→Other Setting
下的Allow unsafe Code选项:
勾选该选项后,我们就可以在Unity中使用unsafe关键词了。
2-3、如何使用unsafe
用于修饰变量,给变量用上指针:
注意:unsafe 的使用虽然能让我们在C#中使用指针,但是会存在安全风险和稳定性风险,如果没有特殊需求,请尽量避免在C#中使用 unsafe。