当前位置:编程学习 > C#/ASP.NET >>

微软.NET平台中类型使用的基本原理----微软 .NET平台系列文章之二(译文/赵湘宁)

微软.NET平台中类型使用的基本原理

----微软 .NET平台系列文章之二

译文/赵湘宁

    在上一次的讨论中,我介绍了许多微软.NET平台公共语言运行时CLR (common language runtime) 中与类型有关的基本概念。其中重点讨论了如何从System.Object类型中派生出所有别的类型,以及程序员能够使用的多种强制类型转换机制(如C#操作符)。最后,我提到了编译器如何使用名字空间以及公共语言运行时CLR是如何忽略名字空间的。
    在本文中,我们将继续上次类型基础的讨论。首先从介绍简单类型开始,然后迅速进入关于引用类型和数值类型的讨论。对所有的开发人员来说,熟练掌握引用类型和数值类型的应用差别尤其重要。在编写代码的过程中,如果对这两种类型使用不当会导致程序Bug并引起性能问题。
简单类型
    某些常用的数据类型,许多编译器通过简单的语法就可以对它们进行处理。例如,在C#语言中,你可以使用下列语法来分配一个整型变量:
int a = new int(5);
    但是我敢肯定,你会觉得用这样的语法来声明和初始化一个整型变量很笨拙。好在许多编译器(包括C#编译器)允许你使用下面的语法来代替:
int a = 5;
    这就使代码的可读性更强。不论使用那一种语法,产生的中间语言时一样的。
凡编译器直接支持的数据类型称为简单数据类型。这些简单数据类型直接映射到基类库中存在的类型。例如C#中int类型直接映射到System.Int32。所以可以将下列两行代码与前面提到的两行代码是一样的:
System.Int32 a = new System.Int32(5);
System.Int32 a = 5;
图一是C#中简单数据类型与基类库中有关类型的对应表(其它语言也会提供类似的简单数据类型)
引用类型和数数值类型
    当从受管堆(managed heap)中分配对象时,new操作符返回对象的内存地址。通常将这个地址存储在一个变量当中。这种方式就是引用类型的变量,因为变量不包含实际对象的位,而是引用对象的位。
补充:asp.net教程,基础入门 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,