原来生命是可以延续的……

点点滴滴,滴滴点点,最终成为滔滔江河,成就不朽传世功劳,坚持,努力!

原创  C#中的运行时类型与编译时类型 收藏

今天在看C#参考时明白了 什么是C#的运行时类型与编译时类型,记录下来,以备查阅:

相信很多刚学C#的人都对这两个概念感到迷惑,其时并不难(以前太重于技术可用性,比如:asp.net中的DataDrid怎么用等问题,没大研究过这方面),希望能对C#初学者有所帮助。请看如下代码:

class A
{...}

class B
{...}

class App
{
   
public static void Main()
   {
        A a 
= new A(); //实例化一个A的对象a
        B b = a; //把B的对象b指向a
        ......
   }
}

以上代码中的对象a没什么好说的,运行时与编译时类型均为A

而对象b的运行时类型为A,编译时类型为B

说说原因,因为对象a,b本身都是引用类型,在编译时对象b的类型由我们写的B b来确定,而在程序运行后发现b引用的内容实际是a所引用的内容,而对象a的类型是确定为A的(因已实例化了),所以b 的运行时类型就和a的类型相同了

发表于 @ 2006年09月05日 18:08:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:PHP输出控制功能在简繁体转换中的应用 | 新一篇:MFC中获得全局指针的方法

  • 发表评论
  • 评论内容:
  •  
Copyright © alpsboy
Powered by CSDN Blog