天涯之外

导航

C#预定义数据类型(值类型和引用类型详解)

C#认可度基本预定义类型并没有内置于语言中,而是内置于.NET Framework中。例如:声明一个int
        类型的数据时,声明的实际上是.NET结构System.Int32的一个实例。
    C#把数据类型分为两种
    一、值类型
        表示基本数据类型
    二、引用类型
        1、object,在C#中,object就是最终的父类型,所有内在的和用户定义的类型都从它
            派生而来。可以用object绑定任何子类型的对象,而且object类型执行许多基本
            的一般用途方法。
        2、string,如:
            string str1 = "hello";
            string str2 = "world";
            string str3 = str1+str2;
            尽管这是一个值类型的赋值,但是string是一个引用类型。String对象保留在堆上,
            而不是堆栈上。因此,把一个字符串变量赋给另外一个字符串时,会得到对内存中
            同一个字符串的两个引用。但是,string与引用类型在常见的操作上有一些区别。
            例如,修改其中一个字符串,就会创建一个全新的string对象,而另一个字符串没有
            改变。
    C#有15个预定义类型,其中13个值类型,2个引用类型(string和object)。
    从概念上讲,其区别是值类型是直接存储其值,而引用类型存储对值得引用。
    存储在内存的不同地方:
        值类型存储在堆栈中,而引用类型存储在托管堆上。

posted on 2009-02-17 12:05  天涯之外  阅读(478)  评论(0编辑  收藏  举报