C#C++C语言学会编程第15课分部类型和可空类型

C#C++C语言学会编程第15课分部类型和可空类型

ID:34168142

大小:62.93 KB

页数:16页

时间:2019-03-04

C#C++C语言学会编程第15课分部类型和可空类型_第1页
C#C++C语言学会编程第15课分部类型和可空类型_第2页
C#C++C语言学会编程第15课分部类型和可空类型_第3页
C#C++C语言学会编程第15课分部类型和可空类型_第4页
C#C++C语言学会编程第15课分部类型和可空类型_第5页
资源描述:

《C#C++C语言学会编程第15课分部类型和可空类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第15课分部类型和可空类型分部类型可以将类、结构、接口或者方法的定义拆分为一个或多个部分,甚至可以保存为多个源文件中。可空类型可以用来处理值类型的值为空的情况,它能够指示可空类型的实例是否包含一个确定的值。本章将讲解C#语言中的分部类型和可空类型,主要介绍以下知识点。�声明分部类、结构和接口;�分部类型同名成员处理;�处理分部类型的基接口;�可空类型的属性;�可空类型的方法;bool?类型。15.1分部类型分部类型(Partialtype)允许将类、结构和接口划分为多个部分,并存储在不同的源文件中,以便于开发和维护。在VisualStud

2、io2008集成开发环境中开发应用程序时,有时一个类(如Windows窗体、ASP.NET窗体页等)的一部分代码由机器自动生成,另外一部分代码由程序员编写。如果把这个类设置为分部类,那么这两部分代码可以保存在不同的源文件中,从而增加了应用程序的代码的灵活性。在声明分部类型的每一个部分时,每一个部分都必须包含partial修饰符,并且分部类型的所有声明代码都必须位于同一命名空间中。partial修饰符表示它所在的类型可能还包含其他部分,但是其他部分并不一定是必须的。如果一个类型只包含一个部分,在声明该类型时使用了partial修饰符,也是正

3、确的。15.1.1声明分部类使用partial修饰符可以用来声明分部类。15.1.2声明分部结构使用partial修饰符可以用来声明分部结构。15.1.3声明分部接口使用partial修饰符除了可以用来声明分部类和结构之外,还可以用来声明接口。15.1.4同名成员处理如果一个分部类型包含了多个部分,那么该类型的所有成员为各个部分成员的并集,并且在每一个部分中可以访问其他部分的成员,即使在声明该成员时使用了private修饰符。然而,在不同部分中声明了同一个名称的成员,则发生编译时错误。除非该成员使用了partial修饰符。15.1.5处理

4、基接口如果一个分部类型包含了多个部分,那么该类型的所有基接口集是每一个部分指定的基接口的并集。一个基接口在分部类型的一个部分中只能指定一次,但是可以在多个部分中同时被指定,即多个部分可以同时指定同一个基接口。注意:在整个分部类型中,一个基接口的成员的实现只能是一个。但是,一个部分的基接口可以由另外一个部分提供该基接口的实现。15.2可空类型可空类型(Nullable)是一个组合了基础类型的值和布尔空值指示符的结构。可空类型除了表示基础类型的所有值之外,还可以表示空值(null)。可空类型为值类型,声明可空类型存在以下两种形式。(1)使用S

5、ystem.Nullable类声明可空类型(2)使用?(问号)声明可空类型15.2.1HasValue和Value属性任何可空类型的实例都包含两个公共只读属性:HasValue和Value。它们的具体意义说明如下。HasValue属性的类型为bool,它表示该实例是否包含一个确定值。如果HasValue属性的值为true,则表示该实例包含一个确定的值。否则,表示该实例为空,即它不包含确定的值。此时,如果要获取该实例的值,则发生运行时错误。Value属性的类型为该可空类型的基础类型,它表示该实例的一个确定的值,并作为该实例的值。15.2.1

6、GetValueOrDefault()方法可空类型的实例只包含一个方法:GetValueOrDefault(),它可以用来获取可空类型的实例的值或默认值。它存在以下两种重载形式。(1)publicTGetValueOrDefault()(2)publicTGetValueOrDefault(TdefaultValue)T表示可空类型的基础类型。如果可空类型的实例的HasValue属性的值为true,则该方法返回该实例的值(即Value属性的值)。如果可空类型的实例的HasValue属性的值为false,(1)方法返回该实例的默认值,(2)

7、方法返回defaultValue参数的值。15.2.1bool?类型bool?类型为可空布尔类型,它可以表示3个值:true、false和null。可空布尔类型提供了两个运算符:&和

8、。&运算符表示逻辑与,

9、运算符表示逻辑或。可空布尔类型的实例运算结果如表15.1所示。XYX&YX

10、Ytruetruetruetruetruefalsefalsetruetruenullnulltruefalsetruefalsetruefalsefalsefalsefalsefalsenullfalsenullnulltruenulltruenullfal

11、sefalsenullnullnullnullnull15.3实例一:测试可空类型【实例15-1】演示了测试基类型为int的可空类型的方法。该功能由TestNullableType类实现。15

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。