“C#”错误“System.NullReferenceException:未将对象引用设置到对象的实例“解析

错误原因分析

首先,你要知道,在.NET里面所有操作的变量都是对象。
  一般的标识符,如int,string,char等等,最后都会转换为System命名空间下面的类名(如Int32,String,Char等等),当然类实例化的就更不用说了。对象就必然存在若干的属性和方法。你要操作一个对象,也必然是操作它的属性或者方法。
  “未将对象引用设置到对象的实例”,也就是说你要调用的对象实例里面不存你要操作的属性或者方法,而在确定了你的对象里面有你要操作的属性或者方法,但是仍然报错,那很可能是你操作的对象变成null了。因为null实际上也是一个对象(Nullable类型),所以它不会提示你“你操作的对象为空”这类的信息,而是对象实例中不存在你要操作的属性或者方法,也就是“未将对象引用设置到对象的实例”。

错误原因锦集
1、ViewState对象为Null。
2、DataSet为空。
3、SQL语句或DataBase的原因导致DataReader为空。
4、声明字符串变量时未赋空值就应用变量。
5、未用new实例化对象。
6、Session对象为空。
7、对控件赋文本值时,值不存在。
8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。
9、使用FindControl时,控件不存在却没有做预处理。
10、重复定义造成未将对象引用设置到对象的实例错误。
11、控件名称在codebehind里面没有对应。
12、设置的变量为空值或没有取到值,一般在传递参数时出错。也会在使用DataGridView或DataList等数据控件时出现。
13、对象所在的命名空间没有引用。
14、程序出现异常,导致实例化失败,对象为 Null。

解决方案
1、使用Try……Catch……Finally捕捉错误,或者直接使用response.write()输出所取的变量值。
2、查看代码中是否存在未初始化的变量。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柳落青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值