黑马程序员技术交流社区

标题: C#中各种数据类型的选用及其相互转换 [打印本页]

作者: 张变    时间: 2014-3-18 15:16
标题: C#中各种数据类型的选用及其相互转换
1    枚举,结构,类(抽象类,接口)string类和stringbuilder类,数组,集合类,泛型,
      其中,值类型:枚举,结构
    引用类型:类,接口,string和stringbuilder类,数组和集合类,泛型
数据结构的选用:
2   枚举的选用:当我们想要定义一组特定范围和 状态的值时,就是我们想限定取值范围和取值状态(如 男或男性的不同)时,定义枚举。
      结构和类的选用:当我们想描述一个对象,这个对象有特征和能力时,定义结构或类。
                                  类和结构的区别之一就是结构不能继承类和结构,仅能继承接口。还有一条就是类存在于堆中,而结构存在于栈中。

                                       所以在具体使用中:

                                   (1).描述多级别对象时,应该使用类,比如动物,动物中有鸟类,昆虫等、

                                     ( 2)、栈空间有限,对于存在复杂逻辑的对象,应该使用类。

                                   (3)、对于无须扩展派生的对象,应使用结构,如表示点,矩形,颜色时,使用结构比较恰当。

3  抽象类和接口的选用:当我们不知如何定义或不用定义时,使用抽象类或接口,定义一个标准,和接口一样,提高程序的可扩展性
4 string和stringbuilder类的选用:当我们处理字符数据时使用,string类的对象通常不可变,而若想用一个可变的就定义一个stringbuilder类
5数组,集合类和泛型的选用:当我们想处理一组对象时使用数组,数组的长度不可变,当我们想增加对象个数时,可选用集合类的arraylist类。当想查询数据方便,可以用索引查询时,用集合类的hashtable类。集合类中存放的对象都是object类,当我们使用对象时还需要来回转换,比较麻烦。这时可选用泛型,能自定义集合的类型,更方便。

数据结构的转换:
类型内转换:隐式转换和强制转换:结构中中的int ,double等,类中的父类,子类,接口等
类型间转换:类型.parse(string):将string转换成枚举,int ,等
                        convert类:结构中各类型与string的相互转换
                         string.toarray :将string转换为数组



作者: shangxin    时间: 2014-3-18 15:20
不错,很具体




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2