Object类型是c#中所有数据类型的基类
也就是说
任何“值类型”的值都可以转换为object类型的值,object类型的值也可以转换为任何类型的数据
相当于一个装箱和拆箱的过程
任何类型的数据最终都可以作为对象(object)处理
装箱:
eg:将一个值类型变量隐式地转换为引用类型的对象
int val = 2000;
object obj = val;//把值类型转换为引用类型,隐式转换
将值类型转换为object类型后改变值类型数据并不对Object类型数据造成影响和改变
Object类可以自动转换为其他类,例如Object转换为string类,是一种包含和不包含的关系,如下,
Object obj;
int val = 23;
obj = val;
// Object obj;
// String ttp = ("sdd");
// obj = ttp;
但 不能val =obj,ttp = obj;
拆箱:
eg:从引用类型到值类型的显式转换
int val = 2000;
object obj = val;//把值类型转换为引用类型,隐式转换
int num = (int) obj;//把引用类型拆箱(转换)成值类型
所以,在调用函数方法时,注意考虑其返回值类型,如果是object类型,调用返回值时在之前加(所需类型)转换