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();
}

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

总结

学习记录。
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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 你不知道的自动装箱和拆箱

    “改天是明天,下次是每一次,以后是以后的每一天” 装箱就是自动将基本数据类型转换为包装器类型(int–Integer);调用方法:Integer的valueOf(int) 方法 拆箱就是自动将包装器类型转换为基本数据类型(Integer–int);调用方法:Integer的intValue方法 在Java SE5之前,如果要生成一个数值为

    2024年02月02日
    浏览(32)
  • Java中的自动装箱与自动拆箱

    在Java中,基本数据类型与其对应的封装类之间可以进行自动转换,这种特性称为自动装箱(autoboxing)和自动拆箱(unboxing)。自动装箱和自动拆箱使得我们在使用基本数据类型时更加方便,同时也提高了代码的可读性和健壮性。本文将详细介绍Java中的自动装箱和自动拆箱机

    2023年04月22日
    浏览(24)
  • Java 装箱拆箱原理 & 包装类型缓存池

    byte short int long float double boolean char 为了让上述基本数据类型可以转为对象,Java在1.5推出了一系列包装类,基本类和包装类互相转换的过程,称为装箱和拆箱 缓存池也叫常量池。它是事先存储一些常量数据用以提高性能节省空间的一种技术,大部分的包装类型都实现了缓存池

    2024年02月16日
    浏览(28)
  • Java 中的自动装箱和拆箱详解

    目录 1、Java中的自动装箱 2、Java中的自动拆箱 3、自动装箱和拆箱总结   4、在Java中怎样避免自动装箱和拆箱? 1、Java中的自动装箱          自动装箱 是 Java 编译器在基本类型和它们对应的包装类之间进行的自动转换。例如,将 int 类型转换为 Integer 类型,将 double 类型转

    2024年02月09日
    浏览(31)
  • 基础巩固、探寻Java装箱和拆箱的奥妙!

    前言   今天在逛某知名论坛的时候,看到一篇\\\"请不要使用包装类型,避免造成性能损失\\\"的文章。一下子就吸引了我的注意。大意就是,能用基本数据类型就尽量用基本数据类型,因为包装类型自动拆箱、装箱会带来性能损失尤其是循环使用时会大量创建对象。所以今天聊

    2023年04月25日
    浏览(31)
  • C# 类class、继承、多态性、运算符重载,相关练习题

    34.函数重载 35.几个相同的函数  print() ,用于打印不同的数据类型。   36.基类和派生类   37.基类的初始化   38.多重继承   39.动态多态性   40.抽象性和虚方法   41.通过虚方法 area() 来计算不同形状图像的面积   42.运算符重载的实现   @www.runoob.com 

    2024年02月09日
    浏览(36)
  • 数据结构----基本封装、包装类、装箱与拆箱、泛型详解

    在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类型。 基本数据类型 包装类 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean 除了 Integer 和 Character, 其余基本类型的包装类都是

    2024年01月23日
    浏览(35)
  • int和Integer的区别是什么,自动装箱和自动拆箱到底是什么?

    基本类型 vs. 包装类型: int 是Java的基本数据类型,它直接存储整数值,不具备任何方法或属性。基本类型通常更高效,占用更少的内存。 Integer 是 int 的包装类,它是一个对象,具有方法和属性。包装类提供了一些额外的功能,如转换为其他数据类型、比较、转换为字符串等

    2024年02月08日
    浏览(29)
  • kotlin学习(二)泛型、函数、lambda、扩展、运算符重载

    Kotlin 中的类可以有类型参数,与 Java 类似: 创建这样类的实例只需要提供类型参数即可: 如果类型参数可以推断出来,例如从构造函数的参数或者从其他途径,就可以省略类型参数: String作为Object的子类,就可以直接将子类对象赋值给父类,这个操作即达到了 型变 。 但是

    2024年02月09日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包