惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
V
V2EX
B
Blog RSS Feed
有赞技术团队
有赞技术团队
博客园 - Franky
美团技术团队
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
腾讯CDC
云风的 BLOG
云风的 BLOG
L
LangChain Blog
GbyAI
GbyAI
The Cloudflare Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Check Point Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Stack Overflow Blog
Stack Overflow Blog
博客园 - 【当耐特】
The Register - Security
The Register - Security
大猫的无限游戏
大猫的无限游戏
D
Docker
Vercel News
Vercel News
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
N
Netflix TechBlog - Medium
博客园_首页
A
About on SuperTechFans
J
Java Code Geeks
量子位
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
Recent Announcements
Recent Announcements
G
Google Developers Blog
小众软件
小众软件
博客园 - 叶小钗
WordPress大学
WordPress大学
博客园 - 聂微东
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
F
Full Disclosure
Jina AI
Jina AI
H
Help Net Security

博客园 - kenty06

LINQ 查询Select LINQ之DataContext 数据上下文 Dedecms57 分页 dede:pagelist 说明 window service服务安装错误 命名空间基础知识 - kenty06 - 博客园 建立全文索引以及使用 Asp.net中防止用户多次登录的方法 VSS使用手册 开启全文索引 extJS初学小问题之js文件编码 - kenty06 - 博客园 希尔排序 VS2008加载包失败的解决方法 VS2005快捷键(转) 关于 odbc OdbcParameter参数问题 - kenty06 在 dotnet环境下使用 文件dsn - kenty06 关于枚举enum的tostring方法不能重写的一种替代方案 asp.net 2.0 学习点滴推荐(001) - kenty06 aspx页面事件顺序 - kenty06 - 博客园 C#中的default
C#简单类型转换说明
kenty06 · 2010-06-05 · via 博客园 - kenty06

2010-06-05 17:19  kenty06  阅读(230)  评论()    收藏  举报

两个简单类

 class B
    {
        int x;
        public void A()
        {
        }
    }
    class D : B
    {
        int y;
        public void T()
        {
        }
    }

测试代码以及简要说明

 static void Main(string[] args)
        {

            Object o1 = new object();//通过编译
            object o2 = new B();//通过编译
            object o3 = new D();//通过编译
            object o4 = o3;//通过编译

            B b1 = new B();
            B b2 = new D();//B为父类,编译通过,如不进行转换,只能调用B的方法或属性
            D d1 = new D();

           // B b3 = new object();//编译失败,object为B的父类
            // D d3 = new object();//编译失败

            B b4 = d1;//B为父类,编译通过
        //    D d2 = b2;//编译失败

            D d4 = (D)d1;//显式转换,d1本身为D类型,运行无误
            D d5 = (D)b2;//显式转换, b2也为D类型
           D d6 = (D)b1;//显式转换,编译通过,运行出错,因为b1为B类型,为D的父类,父类不能转换成子类

            B b5 = (B)o1;//编译通过,运行出错
            B b6 = (B)b2;//编译通过,运行正常,b2为D类型

        }