C#中未将对象引用设置到对象的实例是什么意思?

应用程序发生了无法处理的异常,如果,单击继续,应用程序将忽略此错误并尝试继续,如果单击退出,应用程序将立即关闭。未将对象引用设置到对象的实例。。这是什么意思啊?我是新手,望大仙们给帮帮忙啊。。。

意思是你使用这个对象之前没有将之实例化。

例如:

Label l = new Label;

这个是已经实例化了,可以对其成员进行操作。

注意实例化是调用构造方法要加括号。

如果你是Label。

那下面如果你调用l.Text之类的属性,那就会出现你那个错误。

扩展资料:

语言结构

类:在C#中类的声明与C++和Java很相似。但是,不像C++,C#结构体与类是不支持继承多个父类。但是,与Java相同的是,一个结构体可以实现接口(interface)。Java的关键字import已经被替换成using,它起到了同样的作用。

类可以是抽象的和不可继承的:一个被申明成abstract的类不能被实例化,它只能被用做一个基类,C#关键字lock就像Java关键字final,它申明一个类不是抽象的,但是它也不能被用做另一个类的基类接口:就象在Java中一样,一个接口是一组方法集合的抽象定义。

当一个类或结构体实现一个接口的时候,它必须实现这个接口中定义的所有方法。一个单一的类可以实现几个接口,也许以后会出现一些微妙的差别,但是这个特点看起来与Java相比没有变化。 

在Java中,一个接口是一组方法集合的抽象定义.当一个类或结构体实现一个接口的时候,它必须实现这个接口中定义的所有方法.一个单一的类可以实现几个接口.也许以后会出现一些微妙的差别,但是这个特点看起来与Java相比没有变化。

布尔运算:条件表达式的结果是布尔数据类型,布尔数据类型是这种语言中独立的一种数据类型.从布尔类型到其他类型没有直接的转换过程.布尔常量true和false是C#中的关键字.错误处理:如Java中那样,通过抛出和捕捉异常对象来管理错误处理过程.内存管理:由底层.NET框架进行自动内存垃圾回收。

布尔运算:条件表达式的结果是布尔数据类型,布尔数据类型是这种语言中独立的一种数据类型,从布尔类型到其他类型没有直接的转换过程,布尔常量true和false是C#中的关键字。错误处理:如Java中那样,通过抛出和捕捉异常对象来管理错误处理过程。

内存管理:由底层.NET框架进行自动内存垃圾回收。一个基本的C#类中包含数据成员、属性、构造器和方法。属性可以是静态或实例成员。

接口:是其他类型为确保它们支持某些操作而实现的引用类型。接口从不直接创建而且没有实际的表示形式,其他类型必须转换为接口类型。

一个接口定义一个协定。实现接口的类或结构必须遵守其协定。接口可以包含方法、属性、索引器和事件作为成员。

参考资料来源:百度百科--c#

参考资料来源:百度百科--程序设计语言

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-12-14

意思是你使用这个对象之前,没有将之实例化。

比如:

Label l = new Label();

这个是已经实例化了,可以对其成员进行操作。

注意:实例化是调用构造方法要加括号。

如果你是Label l;

那下面如果你调用l.Text之类的属性,那就会出现你那个错误。

扩展资料:

程序运行多次,会出现异常:未将对象引用设置到对象的实例

问题代码:

List<string> list = null;

try

{

int xx = list.Count;

list=getList();//给list赋值方法

for (int i = 0; i < list.Count; i++)

{

if (list[i].Contains("11"))

{

MessageBox.Show("success");

}

}

}

catch(Exception ex)

{

MessageBox.Show(string.Format("请截图并联系:\r\n  ErrorCode={0}\r\n  ErrorMsg={1}\r\n  ErrorStackTrace={2}",

Marshal.GetLastWin32Error(), ex.Message, ex.StackTrace));

}

本回答被网友采纳
第2个回答  2018-07-20

意思是你使用这个对象之前没有将之实例化
比如
Label l = new Label();
这个是已经实例化了,可以对其成员进行操作
注意实例化是调用构造方法要加括号
如果你是Label l;
那下面如果你调用l.Text之类的属性,那就会出现你那个错误

据个例子:

比如你想用张三家的洗衣机,可你却不知道他家住在哪。

你必须先知道他家的地址,然后再去他家,调用他家的洗衣机!

而实例化就相当于你找到他家的过程!

拓展资料

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

本回答被网友采纳
第3个回答  2018-08-04

首先出错了,一定要学会Debug,Debug,Debug.

一、网络上的一般说法

1、ViewState 对象为Null。

2、DateSet 空。

3、sql语句或Datebase的原因导致DataReader空。

4、声明字符串变量时未赋空值就应用变量。

5、未用new初始化对象。

6、Session对象为空。

7、对控件赋文本值时,值不存在。

8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。

9、使用FindControl时,控件不存在却没有做预处理。

10、重复定义造成未将对象引用设置到对象的实例错误.

二、

(1)所设置的变量为空值或没有取到值,一般出现在传递参数的时候出现这个问题,也会在使用DataGrid或gridview或datalist等数据控件时出现.

(2)控件名称与codebehind里面的没有对应

(3)未用new初始化对象

(4)在程序中所引用的控件不存在

解决方法:

(1)使用try..catch...finally捕捉错误,或直接用response.write()输出所取的变量值

(2)查看代码中是否存在未初始化的变量

三、

SqlConnection.Open   未将对象引用设置到对象的实例

在使用VS2003开发 ASP.NET程序时候 有时候操作 SqlConnection对象的Open()方法时候会出现

未将对象引用设置到对象的实例。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

参考资料:http://www.cnblogs.com/KeenLeu

拓展资料:

C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

本回答被网友采纳
第4个回答  2009-03-19
意思是你使用这个对象之前没有将之实例化
比如
Label l = new Label();
这个是已经实例化了,可以对其成员进行操作
注意实例化是调用构造方法
要加括号
如果你是Label l;
那下面如果你调用l.Text之类的属性,那就会出现你那个错误本回答被提问者采纳
相似回答