- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 常用数据类型的用法new
3.3 枚举 枚举(enum)是一组命名常量的集合,称为枚举成员列表。它可以为一组在逻辑上密不可分的整数值提供便于记忆的符号,从而使代码更清晰,也易于维护。 声明enum类型变量的语法为: [附加声明] [访问修饰符] enum 名称[:数据类型]{ 枚举列表} 例如: enum Number1:byte{x1=3,x2=5} //x1常量为3,x2常量为5 enum Number2:byte{x1=3,x2} //x1常量为3,x2常量在前一个常量自动+1为4 enum days{Mon, Tue,Wed,Thu,Fri,Sat}//默认:常量为int,Mon:0…Sat:6 注意:enum days:byte{X1=255,X2} //错误, X2越byte界 3.4 泛型 泛型是C# 2.0中的新增元素(C++中称为模板),主要用于解决一系列类似的问题。 这种机制允许将类名作为参数传递给泛型类型,并生成相应的对象。 将泛型(包括类、接口、方法、委托等)看作模板可能更好理解,类名称传递给模板中的变体部分,从而得到一个新的类型定义。 3.4 泛型 泛型(Generic)是具有占位符(类型参数)的类、结构、接口和方法 与普通类的区别:泛型多了一个或多个表示类型的类型参数,这些类型参数用尖括号括起来。 例如: public class MyClassT { public T MyProp { get; set; } //定义属性MyProp public void Print( ) { Console.WriteLine(MyProp); } } 泛型 【例3-8】演示泛型的定义与用法。 class Program { public static void SwapT(ref T item1, ref T item2) { T temp = item1; item1 = item2; item2 = temp; } static void Main( ) { Double d1 = 0, d2 = 2; Console.WriteLine(交换前:{0},{1}, d1, d2); Swap(ref d1, ref d2); Console.WriteLine(交换后:{0},{1}, d1, d2); Console.ReadLine( ); } } 可空泛型 假如您有一个数字类型的变量,用于控制从数据库中获取的数值。数据库可能为这个变量返回一个null值。您需要一个简洁的方法来存储这个数值,即使返回数值为null。 解决方案: 使用可空类型。 有两个创建可空类型的方法。 System.NullableT variable - 或 - T? variable T 是可空类型的基础类型。T 可以是包括 struct 在内的任何值类型;但不能是引用类型。 本质上,下面两个声明是等价的: int? myDBInt = null; Nullableint myDBInt = new Nullableint(); 两个声明中,myDBInt都被认为是可空类型并初始化为null。 一个可空类型实现了InullableValue接口,它只有两个属性成员:HasValue和Value。如果把可空类型设置为null,HasValue属性将返回false,否则将返回true。 测试可空类型方法 第一,使用HasValue属性如下: if (myDBInt.HasValue) //HasValue 成员用于在尝试显示变量之前测试它是否包含值 Console.WriteLine(Has a value: + myDBInt.Value); else Console.WriteLine(Does not have a value (NULL)); 第二种方法是跟null对比: if (myDBInt != null) Console.WriteLine(Has a value: + myDBInt.Value); else Console.WriteLine(Does not have a value (NULL)); 集合类型 集合是OOP中的一个重要概
文档评论(0)