您的位置:首页 > 编程语言 > C#

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

2007-02-02 20:14 706 查看
本章有以下主要概念:
一:类型的安全性;
二:对象的相等比较;
三:运算符重载;
四:用户定义的数据类型转换
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类型的结构对象,则就会调用重载的方法,而不是普通的数字相加,这就可以解决许多科学计算问题,数学计算中运算符有许多不同的含义,这样我们就可以通过运算符重载来解决这个问题   ^_^
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vector 数学计算 c# 语言 c