第5章 运算符和类型强制转换

本章有以下主要概念:

一:类型的安全性;

二:对象的相等比较;

三:运算符重载;

四:用户定义的数据类型转换

C#运算符和C语言有些差不多,对运算符的学习主要在运算符重载

运算符重载也许有些奇怪,为什么要重载运算符呢?^_^在有些时候尤其是数学上的运算需要,比如量子力学中矩阵运算比较多,那么*运算符在这里就不是简单的数字相乘的意思,我们需要重新定义*的意思,即所谓的运算符重载,下面举个简单的例子看运算符是怎么重载的

        public static Vector operator +(Vector lhs, Vector rhs)  //运算符+重载
        {
            Vector result = new Vector(lhs);
            result.x += rhs.x;
            result.y += rhs.y;
            result.z += rhs.z;
            return result;
        }

这个例子我们首先定义了一个结构Vector,运算符重载的格式是:返回类型 operator 运算符(参数列表)  这里我们重载+运算符,传入参数是一个结构Vector,返回类型也是Vector,这样当我们在使用+运算符时,如果+两边的参数是Vector类型的结构对象,则就会调用重载的方法,而不是普通的数字相加,这就可以解决许多科学计算问题,数学计算中运算符有许多不同的含义,这样我们就可以通过运算符重载来解决这个问题   ^_^

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值