欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【未将对象引用设置到对象的实例 (System.NullReferenceException)】,下面是详细的讲解!
未将对象引用设置到对象的实例 (System.NullReferenceException)
下面基础的解释一下这错误:1:本质上的错误:
当然啦!结果就如下图了:

2:通常性的错误:
示例1:一个过滤某些字符的函数:
这个函数比如容易看的出:如果value传进来为Null的时候,就等于Null.Replace被调用,就出现了上面的错误。
因此,通常的,在函数的首行,都会对value进行:if(!string.IsNullOrEmpty(value)) 一下。
示例2:再举一下通用性的调用错误,绑定,Eval("字段") ,这个方法比较常见,某些情况要转字符串比较,这里示例一下:
<%# Eval("字段").ToString()=="1"?"Yes":"No" %>
当Eval("字段")为Null时,一个Null.ToString(),必然也会出现上面的错误,那什么情况出现?
1:字段的值为Null
2:空数据行,就是你表一行数据都没有,全是Null。
复制代码
所以预防性的写法是:
<%# Convert.ToString(Eval("字段"))=="1"?"Yes":"No" %
好了,看到本文的不管懂的还是不懂的,现在都应该懂了,如果你非要说你不懂,我得赞扬你智商高,下面有智商介绍,别放过。
见到这异常:就是一个Null的对象调用了方法(属性或其它成员)变成Null.XXX引发的。
当然啦,出现这种异常的场景,那可是万万千,数也数不完,但本质是一样的。
个人观点认为,在三只鸟中发生此错误的原因各不同,基本如下:
中鸟:知道这个错误,只是考虑的不多,心不够细,人不够稳,写代码基本会加,但普遍不加。
中鸟比新鸟吃的虫,肯定多,所以出现这种情况,原因当然不一样了啦。
个人猜测:中鸟写的代码,出现Null引用的原因可能是:
老鸟:对这错误太熟悉,心也够细,写代码潜意识会主动加防,但百密一疏,该来的还是会来,躲过初一,躲不过十五。
老鸟吃的虫就更多了,而且老鸟们身经百战之后,觉得系统稳定,才是幸福。
个人猜测:老鸟写的代码,出现Null引用的原因可能是:
下面再补充一下,个人对中老鸟的看法,以下观点仅为作者扮演的个人的臆测观点,和作者本人无关:
中鸟何以追求性能?
重点还是讲老鸟:老鸟何以不太关注性能,而求稳定?
其实,老鸟并不是不关注性能,而是他关注的是:
一:稳定,这个很重要:
二:整体性能大于局部性能
当然了,个人对此观点是很负责的,绝对没有任何轻视局部性能最大化的意思,相反还得鼓励大伙局部性能最大化,努力写出最优代码:
重大说明:
本篇文章绝大多数观点为作者扮演的个人的臆测观点,和本人无关,本人认为,以上观点有些片面,可能与客观事实不符。
请各位看客看在周末的份上,少一份偏激,多一份激动,开X吧!
本视频到此为止,欢迎收看,下次再会,谢谢!
PS:最近顺路折腾了下 CYQ.Data V4.5离线帮助文档,很快发布,敬请关注。
关于未将对象引用设置到对象的实例 (System.NullReferenceException)的用户互动如下:
相关问题:System.NullReferenceException: 未将对象引用设置...
答:Request.Questring("ID")为获取到值,它的默认结果为null,null就不能调用同string()方法了,建议你加个断点先看下 Request.Questring("ID")的结果吧! >>详细
相关问题:异常详细信息:System.NullReferenceException: 未...
答:出现这个异常,是因为某个对象是null,而你在没有判断是不是null的情况下直接调用了这个对象的属性或者方法。就好比 string x = null; int s = x.Length 这是要出错的System.NullReferenceException。 所以这个问题只能楼主你自己解决,打断点去... >>详细
相关问题:C#程序,调试不出错,运行时出现——System.NullRefe...
答:我建议你在里面写个try catch,捕捉到异常后输出几个关键变量的内容。主要包括 row是否为空、row的实际类型、要修改的两个button获得的单元格是否为空。 如果你实在很郁闷的话,可以把你的项目、数据库以及错误信息打包发给我 iFish@fishlee.net... >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【As】Asp.net中的页面乱码的问题-sp--pn-ne-et
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 【asp】asp.net开发中常见公共捕获异常方式总结(
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
