C#中new一个对象的过程说明

在代码中我们经常能看到下面这样的语句。

A a = new A();(1)
B b = null;(2)
C c;(3)

代码(1

创建A的对象并对其进行初始化。

A:类;

new A():创建A的对象并对其初始化;

a:引用,指向new A()这个对象的引用。

注意:a不是A的对象,new A()才是A的对象。

 

代码(2

声明引用b,并指向null

B:类;

b:引用,指向的对象为null(空)。

 

代码(3

与代码(2)一样,声明一个引用

与代码(2)的区别是:代码(3)中声明的引用c不指向任何对象。

提示:变量本质上是引用的一个别名而已


由上面的分析可以了解到,在C#中实例化一个对象时,需要经历下面这几步:

  • 声明引用;
  • 使用new关键字创建类的对象并对其初始化;(分配内存空间)
  • 将引用指向类的对象。

若没有使用new关键字创建类的实例,则仅仅创建引用,指向的对象为null

 

实例说明

public class ExampleModel
{
    public int C1 { get; set; }
    public string C2 { get; set; }
}
 
ExampleModel e1 = new ExampleModel();
ExampleModel e2 = null;
ExampleModel e3;
 
if (e1 == null)
{
    Console.WriteLine("e1 == null");
}
else
{
    Console.WriteLine("{ C1 = " + e1.C1 + ", C2 = " + e1.C2 + " }");
}
 
if (e2 == null)
{
    Console.WriteLine("e2 == null");
}
else
{
    Console.WriteLine("{ C1 = " + e2.C1 + ", C2 = " + e2.C2 + " }");
}
 
if (e3 == null)
{
    Console.WriteLine("e3 == null");
}
else
{
     Console.WriteLine("{ C1 = " + e3.C1 + ", C2 = " + e3.C2 + " }");
}
编译代码,会出现编译错误,提示“使用了未赋值的局部变量 e3 ”,原因是并未对 e3 进行初始化,但是使用 e2 变量时并不会产生编译错误,因为 e2 已经被初始化了,只是初始化的值为 null 而已,这并不影响编译的通过。

注释掉e3 部分的代码,运行程序得到下图所示的结果。

 

在开发过程中,我们还是尽量不要让一个引用指向null,否则在运行过程中很容易出现空引用的异常。

修改e2部分的代码,去掉e2是否为空引用的条件判断,并运行程序。

运行中,会产生“未将对象引用设置到对象的实例。”的异常。(原因你懂的。)

同样去掉e1部分中是否为空引用的条件判断语句,再次执行程序,一切正常。(因为e1指向了不为null的对象)

 

 

 

  • 10
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
第1章 新闻网站基础工作 1 1.1 建立网站文件夹 1 1.1.1 启动VS2008 1 1.1.2 新建网站 1 1.1.3 定义网站所在的文件夹 1 1.1.4 网站开发界面 2 1.1.5 现有网站的的打开 3 1.2 网站数据库建立 4 1.2.1 加入数据库文件 4 1.2.2 配置网站安全 4 1.2.3 使用安全向导简化操作过程 5 1.2.4 定义安全验证 6 1.2.5 启用角色 6 1.2.6 创建角色 7 1.2.7 创建用户 7 1.3 网站数据表的建立 8 1.3.1查看数据库表 8 1.3.2 建立用户数据表 8 1.3.3 建表SQL代码 8 1.3.4 运行SQL代码建表 9 1.4 查看建好的用户表 9 小结 10 第2章 母版页和CSS文件 10 2.1 母版页 11 2.1.1 母版页文件及所在文件夹 11 2.1.2 母版页的设计布局 12 2.1.3 母版页的HTML主要代码 13 2.2 CSS样式文件 14 2.2.1 建立CSS样式文件 14 2.2.2 CSS文件的代码结构 15 2.3 CSS文件的应用 17 2.3.1 引用CSS文件 17 2.3.2 查看CSS样式作用结果 18 2.4 网页上加载图片或flash 18 2.4.1 准备图片及flash文件 19 2.4.2 加载图片 19 2.4.2加载flash文件 21 小结 21 第3章 栏目页操作 21 3.1 建立栏目文件夹及栏目管理页 21 3.1.1 建立栏目及新闻文件夹 21 3.1.2 新建栏目管理页 22 3.2 栏目页设计制作准备 23 3.3 栏目页GridView对象操作 24 3.3.1 加入GridView1对象 24 3.3.2 GriaView1的任务 24 3.3.3 配置GriaView1对象的数据源 25 3.3.4 GriaView1对象数据源表配置 26 3.3.5 数据源生成SQL代码 27 3.4 GriaView对象的列操作 27 3.4.1 编辑GriaView1对象列 27 3.4.2 调整GriaView1用于显示的列 28 3.4.3 GriaView对象的属性设置 29 3.5 栏目页FormView对象 29 3.5.1 加入FormView1对象 30 3.5.2 为FormView1对象配置数据源 30 3.5.3 删除FormView1多余的模板 30 3.6 FormView1的模板布局 31 3.6.1 对InsertItemTemplate模板用Table美化布局 31 3.6.2 FormView1对象初始显示模式设定 33 3.6.3 网页运行效果查看 34 3.7 lmio.aspx页的运行操作 34 3.7.1自动套用格式—最快的美化 34 3.7.2 网页操作提示----必须学会 35 3.7.3 更新操作时的错误纠正 39 3.7.4 排序输入的数字限制 39 小结 40 4 新闻页操作 40 4.1 新闻操作页的型 40 4.1.1 新建新闻操作各页 40 4.2 新闻新增页 41 4.2.1 设计新闻新增页 41 4.2.2 使用FormView对象 41 4.2.3 FormView对象数据源选择表 41 4.2.4 设置FormView对象模板 42 4.2.5 InsertItemTemplate模板Table布局 42 4.2.6 内置DropDownlist对象 43 4.2.7 新闻内容输入框设计 46 4.2.8 页面间的链接—从本页转到新闻列表页 47 4.2.9 运行新闻新增页 47 4.2.10 修改新闻页标题 47 4.2.11 使用在线编辑器 47 4.2.12 使用存储过程进行优化处理新增页 51 4.3 新闻列表页 55 4.3.1 创建用于新闻列表页的存储过程 55 4.3.2 新闻列表页设计 55 4.3.3 定义栏目标签,新闻列表标签的样式 57 4.3.4 定义newslist.aspx页的下拉框对象 58 4.3.5 定义newslist.aspx页的GridView对象 60 4.3.6 设计newlist.aspx页的GridView1对象 61 4.3.7 编辑GridView1对象模板列Column[0] 栏目列 63 4.3.8 编辑GridView1对象模板列Column[4] 编辑列 65 4.3.9 编辑GridView1对象模板列Column[5] 删除列 67 4.4 新闻编辑页 69 4.4.1 新闻编辑页设计newsedit.aspx 69 4.4.2 FormView对象设置 71 4.4.3使用存储过程进行优化处理编辑页 72 4.4.4使用在线编辑器 73 小结 73 5 主页----标题列表与链接,新闻显示页 73 5.1新闻显示页型 73 5.1.1新建新闻显示各页 74 5.2 主页----新闻标题列表页 74 5.2.1 设计主页—外层Dataist—栏目 74 5.2.2设计主页—内层Dataist—新闻标题 77 5.2.3 为栏目名和新闻标题挂上链接 82 5.2.4 为标题加上一个图标指示 85 5.3 设计新闻内容页 Disp.aspx 85 5.3.1 使用formview对象显示新闻 85 5.3.2 设置FormView1对象模板 86 5.4设计新闻同栏目标题页newsLmBt.aspx 87 5.4.1 设计newsLmBt.aspx 87 5.4.2 编辑DataList1的模板 88 5.4.3 挂接链接 89 小结 90 6 新闻分隔页 90 6.1 静态的分隔页 90 6.1.1 静态新闻分隔页的效果图 90 6.1.2 静态新闻分隔页CSS代码 91 6.1.3 静态新闻分隔页HTML完整代码 92 6.1.3 静态新闻分隔页HTML功能代码块分析 94 6.1.4 从外部引用Javascript代码 96 6.2 动态新闻分隔页HTML功能代码块生成 98 6.2.1 分隔页控件的制作 98 6.2.2 分隔页控件加入index.aspx页 102 小结 103 7 图片文件上传与链接 103 7.1 图片文件上传操作的前期工作 103 7.1.1新建上传文件数据库表 103 7.1.2建立上传文件的文件夹,存放文件夹 105 7.1.3文件上传操作页功能 105 7.2 图片上传页jpgUp.aspx制作 105 7.2.1 jpgUp.aspx功能设计要求 105 7.2.2 jpgUp.aspx的信息输入界面 105 7.2.3 jpgUp.aspx的图片信息显示界面 108 7.2.4 jpgUp.aspx的图片信息显示界面2 110 7.2.5 jpgUp.aspx页的用户操作代码 113 7.2.6 jpgUp.aspx页的完整代码 118 7.3 各图片的显示(由用户控件完成) 122 7.3.1 静态流动图片的显示 122 7.3.2 动态显示流动图片的用户控件 124 7.3.3 静态翻页图片的显示 125 7.3.4 动态显示翻页图片的用户控件 126 7.3.5 静态图片显示的用户控件 127 7.4用户控件的使用 129 7.4.1重新设计母版页1 129 7.4.2重新设计母版页2 129 小结 130 8图片链接页jpglink.aspx的制作 130 8.1 图片链接页的母版页制作 130 8.1.1母版页linkMaster.master的专用CSS文件 131 8.1.2 建立母版页linkMaster.master 131 8.2 图片链接页jpglink.aspx制作 131 8.2.1页内标题制作 132 8.2.2 局部使用Table定位 132 8.3 数据大显示与操作 132 8.3.1 数据大列表对象 132 8.4 数据项显示与操作 135 8.4.1 图片数据项制作 135 8.4.2 新闻标题数据项制作 138 8.4.3 挂链接代码 141 小结 141 9 视频的使用 141 9.1 视频的前期准备工作 141 9.1.1 建立视频数据表 141 9.1.2建立操作视频数据表的存贮过程 142 9.1.3 新建视频文件夹 143 9.1.4视频操作各页的功能 143 9.2 视频文件的FTP上传页 144 9.2.1 新建视频FTP页(文件名filmftp.aspx) 144 9.2.2 制作视频FTP页界面1 144 9.2.3 制作视频FTP页界面2 146 9.2.4 视频播放的代码 147 9.2.5 制作视频FTP页界面3 148 9.2.6 filmftp.aspx页的操作 151 9.3视频上传及说明编辑页 151 9.3.1 新建视频上传及说明编辑页(文件名filmUp.aspx) 151 9.3.2 制作视频上传及说明编辑页 151 9.3.2修改调整复制部分对象及代码 153 6 网站安全设置 154 6.1 启动Asp.net配置(网站安全) 154 6.1.1 启动Asp.net网站管理工具 154 6.1.2 为用户挂上角色 158 6.1.3 加入登录页login.aspx 158 6.1.4 在login.aspx页加入登录控件 159 7 菜单 160 7.1菜单 160 小结 162 12网站的发布与安装 162

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值