C#学习系列之装箱、拆箱、自定义转化

C#学习系列之装箱、拆箱、自定义转化

  • 啰嗦
  • 装箱
  • 拆箱
  • 自定义转化
  • 总结


啰嗦

学习基础。


装箱

装箱:值类型转化为引用类型。方便统一操作和存储。
本质上就是在堆上创建了引用类型的副本,新创建的引用类型和值类型(栈中)相互独立。

int i=3;
object oi=null;//转化为引用类型。指向堆当中的对象。
oi=i;

拆箱

拆箱:显式转化。

int i=3;
object oi=i;
int j=(int) oi;

自定义转化

显式或隐式转化,变成预期类型。

  • 隐式转换语法
public static implicit operator Dog(Cat cat)
{
	return new Dog(cat._name);//再转化使用
}
Cat cat=new Cat("jack");
cat.speak();
Dog dog=cat;
dog.spaek();//这里就会将本来狗的属性转化为猫的属性。
  • 显式转化语法
public static explicit operator Dog(Cat cat)
{
}
Cat cat=new Cat("xx");
Dog dog=(Dog)cat;

总结

学习记录。
https://www.imooc.com/video/14234
https://www.imooc.com/video/14235
https://www.imooc.com/video/14236

你可能感兴趣的:(c#,学习,开发语言)