万物之父
关键词:object
object是所有类的基类,它是一个类,是引用类型。
特点:1. 可以用里氏替换原则,用object容器装所有对象;2. 可以用来表示不确定类型,作为函数参数类型。
装箱拆箱
装箱:object存值类型;
拆箱:object类型转换成值类型。
特点:装箱是将值类型用引用类型存储,栈内存会迁移到堆内存中;而拆箱是将引用类型存储的值类型提取出来,堆内存会迁移到栈内存中。
优点:在不确定类型时,可以方便参数的存储和传递;
缺点:内存迁移时会产生性能消耗。
实例:
namespace 封装_万物之父和装箱拆箱
{
internal class Program
{
class Father
{
}
class Son
{
public void Speak() { }
}
static void Main(string[] args)
{
//引用类型
object o = new Son();
//if、as
if (o is Son)
{
(o as Son).Speak();
}
//值类型
object o1 = 1;
//强转类型进行使用
int i = (int)o1;
Console.WriteLine(i);
//string类型
object str = "14321";
string str2 = str.ToString();
string str3 = str as string;
//引用类型可以直接用as转换成指定类型
object arr = new int[10];
int[] arr0 = (int[])arr;
int[] arr1 = arr as int[];
//装箱
object v = 3;
//拆箱
int vValue = (int)v;
//不确定类型时,可以存储不同类型的参数;
Fun(12,"134",new Son(),5f);
static void Fun(params object[] arr1 ) { }
}
}
}
本文详细解释了C#中的Object类作为所有类的基础,以及装箱和拆箱操作的原理、用途和性能影响。介绍了如何处理不确定类型的参数存储和类型转换,通过实例展示了装箱和拆箱的过程。

1332

被折叠的 条评论
为什么被折叠?



