用户代码未处理nullreferenceexception

sxy1991sheng 2014-05-03 02:43:46
编译程序出现大量用户代码未处理nullreferenceexception 菜鸟 求助
...全文
576 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
PaulyJiang 2014-05-05
  • 打赏
  • 举报
回复
null.ToString() 自然会出现 NullReferenceException 异常 在不确定的情况下尽量减少直接tostring(),添加一个判断不是多大的事情。
欢乐的小猪 2014-05-05
  • 打赏
  • 举报
回复
null.ToString() null.FIrst() null.XXX 会出现 NullReferenceException 异常
exception92 2014-05-04
  • 打赏
  • 举报
回复
一个空引用 引出了这么多 废话,大道理,听不懂的名词,语句。 看来 , 养成一个好的编程习惯是多么的重要,对每行代码有要有 “异常预防”,如果你觉得有必要的话。
  • 打赏
  • 举报
回复
编译器根本不能找到这类bug。你的问题描述的有误导!编译器找不到这类bug,所以许多业余变成爱好者就总是提这类问题,好像这是什么语法错误似地。 这是运行时错误!这没有什么办法一劳永逸地、仅凭语法就修复bug。你应该做的是:调试出到底是什么引用、其值为null。你发现了值为null的引用,你修改了自己的程序bug,才能加深记忆。 同时你要记住,软件的好坏跟什么“洁癖”没有关系,而是需要进行测试。你想不出测试的好办法,它就一定存在某种运行时bug在那里等着你,将来一定会爆发。 实际上编程根本不是高尚的事情,编程的目的不过就是为了让测试可以通过。可惜许多学生不了解这个道理,总以为编程才是目的而用户测试不是目的,这其实是一个本末倒置的想法。
佛火 2014-05-03
  • 打赏
  • 举报
回复
引用 1 楼 gounliey 的回复:
Session集合中未找到 名为 cx 的值, 所以返回为 null。 在 null 上调用 ToString() 自然会出现 NullReferenceException 异常。
版大好精辟
threenewbee 2014-05-03
  • 打赏
  • 举报
回复
你没有按照代码作者期望的顺序访问这个网站,而这个代码的作者,是一个培训班出来的垃圾码农。
佛火 2014-05-03
  • 打赏
  • 举报
回复
Session集合中未找到 名为 cx 的值, 所以返回为 null。 在 null 上调用 ToString() 自然会出现 NullReferenceException 异常。
================================================================ 名 称:SubSonic插件 版 本:3.0.0.4.1 最后更新:2013-8-10 官 网: http://www.subsonicproject.com/ BUG 修改:Empty(AllEmpty) Email: 1654937@qq.com 学习讨论:SubSonic3.0学习群(327360708) 相关博客:http://www.cnblogs.com/EmptyFS/ ================================================================ 本版修复了下面问题: 1、Structs.tt模版生成时,没有给PropertyName属性赋值引起的空指针异常(System.NullReferenceException异常) 2、使用SubSonic.Query.Select和SubSonic.Query.SqlQuery查询时,设置了Top属性后,产生的“未处理InvalidOperationException异常(关键字'TOP'附近有语法错误)”Bug 3、生成的表名自动加复数(s)产生的“用户代码未处理SqlException,对象名'xxxs'无效”异常 4、使用SubSonic.Query.Select和SubSonic.Query.SqlQuery查询时,字段类型为tinyint时列丢失问题的Bug修复 5、为SubSonic.Query.Select和存储过程查询添加更多的执行功能(返回内容) 至于使用Json反序列化获得的实体进行更新操作时,只能执行添加而不能执行修改(编辑)操作的问题,这种操作问题的修改,我想应该比较少人使用,所以就不加到代码中,如果有需要的用户请登陆我的博客对着修改就可以了。 更多关于SubSonic3.0的信息,请访问博客:http://www.cnblogs.com/EmptyFS/
unity贪吃蛇游戏源码+AI-游戏源码: 1.利用ngui插件对界面进行了仿写 在仿写界面途中发现,贪吃蛇这个游戏在界面适应屏幕分辨率,所以在开发中需要注意界面对屏幕的适应性。通过每个图片的宽高 和uiroot的比值,在start方法中对他进行了缩放。 2.利用 ngui 自带的uidragdropItem实现摇杆 界面完成之后,首先对贪吃蛇的摇杆进行了编程。 在unity中的NGUI上,给sprite创建添加一个uidragdropitem 实现了sprite的拖动。 AI的开始,移动逻辑: 整体只考虑三个前景: 1.首先先判断蛇首的简介范围是否有其他蛇死亡了留下的食物,如果有的话设置当前朝向为星星方向,便设置移动倍率为2,否则判断第三种情况; 3.随机朝某个位置移动。如果每帧AI都在更新的话,蛇的反映速度依然会更快,需要设置一下AI的更新间隔,通过调整这个间隔和蛇首的简介方位来调整AI的反映速度,目的是能够让玩家有机会撞死AI。 AI 移动的方向分析: AI在一个平面上运动,坐标就只有两个 把他用0和1表示为: ----- 4个方向 上下左右 (0,0) (0,1) (0,-1) (-1,0) (1,0) 四个角度 象限。 (-1,1) (1,1) (-1,-1) (1,-1) 设计思路就是把AI蛇也当作是用摇杆来控制的。那么AI就方便写多了,只是 在还没开始写之前,要考虑的就是AI蛇多了之后程序会不会卡死了。在使用线程控制的过程中发现了一个问题,cup利用率太高。所以想先尝试一下在update上操作。如果不行的在想其他的办法。 设计: 把每个AI蛇都相当于人在控制他。那么想象一下虚拟摇杆,用一个数组来存这些虚拟摇杆的位移坐标 把每条AI蛇的长度也记录下来,默认长度就20 错误: NullReferenceException: Object reference not set to an instance of an object AI6control.flootAIOneBody6 (Vector3 V) (at Assets/AI6control.cs:57) AI6control.AIsix () (at Assets/AI6control.cs:40) AI6control.Update () (at Assets/AI6control.cs:13) 该错误在百度上说:没有实例化的问题 最后一个下午的代码调试 发现由于自己的粗心 导致了把<符号写成了<=符号 就因为这个问题,让贪吃蛇变成了 卡神,害我看了好几天,现在解决了,贪吃蛇也变流畅了好多. Ai蛇也需要吃食物。长大,在游戏刚启动的时候就让Ai蛇在地图中吃食物,成长,当用户进入游戏的时候AI蛇已经吃到了一定的食物。测试了AI蛇确实发现他能吃食物。死后的处理也处理了。 在AI蛇吃食物的时候 ,地图中食物太多,控件太多。没法知道他是什么时候,查了资料说是要遍历地图中的对象,测试了一下,发现对象太多,程序卡得不要不要的,只能用触发器,避免遍历食物让程序运行不流畅或者变得死机等情况。 这样的话 在游戏中运行10-20条蛇是没有问题的。 地图中有10个点,这10个点是用来AI蛇死后复活的地方。 增加了限定时间模式. 经过很多的测试,也发现了很多的bug 不过都基本改完了,现在暂时没有发现bug

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧