有个疑问,请各位大虾帮忙!
书上有这么一句话:"所有的数据类型(包括预定义的和用户定义的),都继承System.Object类型.而装箱操作是把值类型转化为object类型,如果这样的话,那么我是不是可以把一个值类型转化为 自己定义的一个类对象呢?比如:static void Main(string[] args)
{
Contact obj=new Contact();
int i=10;
obj=(Contact)i;
}
public class Contact
{
public int m_num;
public Contact()
{
}
}可为什么编译的时候,提示说不能转化啊?请各位大虾指点,谢谢先
书上有这么一句话:"所有的数据类型(包括预定义的和用户定义的),都继承System.Object类型.而装箱操作是把值类型转化为object类型,如果这样的话,那么我是不是可以把一个值类型转化为 自己定义的一个类对象呢?比如:static void Main(string[] args)
{
Contact obj=new Contact();
int i=10;
obj=(Contact)i;
}
public class Contact
{
public int m_num;
public Contact()
{
}
}可为什么编译的时候,提示说不能转化啊?请各位大虾指点,谢谢先
1、你的Contact是继承于Object
2、Int32类型也是Object的派生类
3、由于Int32和自定义类Contact之间没有继承关系
4、因此不能这样强制转换纯属个人意见,哈哈!