您的位置:首页 > 编程语言 > C#

C#简单类型转换说明

2010-06-05 17:19 295 查看
两个简单类

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类型

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: