已解决
C#学习系列之装箱、拆箱、自定义转化、重载运算符
来自网友在路上 138838提问 提问时间:2023-11-03 05:32:47阅读次数: 38
最佳答案 问答题库388位专家为你答疑解惑
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;
重载运算符
利用现有的某种运算符,针对自定义类或结构,定义某种运算操作。
1、不能创造新的运算符
2、预定义类型和现有运算符含义确定
3、运算操作:类似 X+Y=Z
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
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"C#学习系列之装箱、拆箱、自定义转化、重载运算符":http://eshow365.cn/6-30817-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!