您的位置:首页 > Web前端

NullReferenceException: Object reference not set to an instance of an object

2019-04-03 11:25 507 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_41260732/article/details/88991257

刚接触unity没多久,由于编程基础不是很好,也没有很专业的老师进行全面的指导,于是自己在摸索过程中就遇到过很多的坑…NullReferenceException: Object reference not set to an instance of an object…今天遇到报错提示这个错误信息…原来是空引用引起的错误,也就是说在一个类中去使用另外一个类的方法时候,没有正确的引用,比如类a 要引用 类b中的stand(int a,float b,Gameobject[]obj )方法, 那么在类b中声明stand方法时要这样写 void stand(ref int a,ref float b,ref Gameobject[]obj) {…_____} 就是一个缺少ref关键字引起的空引用问题,以前也知道什么是值传递,什么是引用传参,但是空有理论…现在实际写起代码 不掉进这个坑里一次还是不能正确理解书本上的概念…读万卷书不如行万里路,古人果然诚不我欺.

结构体类型的数据都是值类型,结构体之外的应该都是引用类型,怎样判断对象是不是结构体类型的数据呢? 很简单 在编辑器中选中对象 右键 转到定义(或按f12) 如果是结构体 会转到和下面类似的System 命名空间中, 下面是选中float 按f12 转到的命名空间
namespace System
{
[Serializable]
[ComVisible(true)]
public struct Single : IFormattable, IConvertible, IComparable, IComparable, IEquatable
// 其实float原名叫Single 是 System命名空间下的一个结构体 所有结构体类型的数据类型都是值类型,这样一个类在引用别的类中的方法时要不要加ref就不用纠结了,是结构体类型的就加,不是就不加

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐