1、System.Object:所有其他对象的基类,所有的数据类型都直接或间接的从object类型继承;Object类型的变量可接受任何类型的数值,是实现装箱/拆箱的本源所在。
using System;
using System.Collections.Generic;
using System.Text;
namespace HelloWorld
{
class ObjectApp
{
int number = 918;
static void Main(string[] args)
{
object obj = 124;
Console.WriteLine(obj);
Console.WriteLine(obj.GetType());
obj = new ObjectApp();
ObjectApp value;
value = (ObjectApp)obj;
Console.WriteLine(value.number);
Console.WriteLine(obj.GetType());
Console.Read();
}
}
}
以上实例可用object引用指向任何类型的对象,用相同的代码对不同类型的数据执行不同的操作,这就是单一继承体系的好处,GetType()可动态获得对象的真正类型。
2、隐式转换和强制转换
(3)C#所支持的隐式类型转换
源类型 |
目的类型 |
sbyte |
short、int、long、float、double、decimal |
byte |
short、ushort、int、uint、long、ulong、float、double、decimal |
short |
int、long、float、double、decimal |
ushort |
int、uint、long、ulong、float、double、decimal |
int |
long、float、double、decimal |
uint |
long、ulong、float、double、decimal |
long、ulong |
float、double、decimal |
float |
double |
char |
ushort、int、uint、long、ulong、float、double、decimal |