C#学习系列之装箱、拆箱、自定义转化、重载运算符

编程入门 行业动态 更新时间:2024-10-18 21:23:21

C#学习系列之装箱、拆箱、<a href=https://www.elefans.com/category/jswz/34/1771438.html style=自定义转化、重载运算符"/>

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;

重载运算符

利用现有的某种运算符,针对自定义类或结构,定义某种运算操作。
1、不能创造新的运算符
2、预定义类型和现有运算符含义确定
3、运算操作:类似 X+Y=Z

public static Dog operator +=(Dog male,Dog female)
{return new Dog();
}

一元、二元运算符都可以重载

总结

学习记录。


更多推荐

C#学习系列之装箱、拆箱、自定义转化、重载运算符

本文发布于:2023-11-30 13:48:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1650920.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自定义   运算符   系列之   拆箱

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!