啰嗦
学习基础。
装箱
装箱:值类型转化为引用类型。方便统一操作和存储。
本质上就是在堆上创建了引用类型的副本,新创建的引用类型和值类型(栈中)相互独立。
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;
重载运算符
利用现有的某种运算符,针对自定义类或结构,定义某种运算操作。
1、不能创造新的运算符
2、预定义类型和现有运算符含义确定
3、运算操作:类似 X+Y=Z文章来源:https://www.toymoban.com/news/detail-743892.html
public static Dog operator +=(Dog male,Dog female)
{
return new Dog();
}
一元、二元运算符都可以重载
总结
学习记录。
https://www.imooc.com/video/14234
https://www.imooc.com/video/14235
https://www.imooc.com/video/14236文章来源地址https://www.toymoban.com/news/detail-743892.html
到了这里,关于C#学习系列之装箱、拆箱、自定义转化、重载运算符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!