C#高级语法基础知识总结4——运算符
2012-07-16 22:25
756 查看
比较引用类型的相等性
ReferenceEquals() 静态方法,不能重写,如果提供的两个引用引用同一个对象实例,则返回true,否则就返回false。Null=null
虚拟的Equals(),可在自己的类中重写
静态的Equals()方法
比较运算符(==)
比较值类型的相等性
采用与引用类型相同的规则:ReferenceEquals()用于比较引用,Equals()用于比较值,比较运算符可以看做一个中间项。但最大的区别是值类型需要装箱,才能把它们转换为引用,进而才能对它们执行方法。
运算符重载
运算符重载
ReferenceEquals() 静态方法,不能重写,如果提供的两个引用引用同一个对象实例,则返回true,否则就返回false。Null=null
虚拟的Equals(),可在自己的类中重写
静态的Equals()方法
比较运算符(==)
比较值类型的相等性
采用与引用类型相同的规则:ReferenceEquals()用于比较引用,Equals()用于比较值,比较运算符可以看做一个中间项。但最大的区别是值类型需要装箱,才能把它们转换为引用,进而才能对它们执行方法。
运算符重载
运算符重载
Vector vector1, vector2, vector3; vector1 = new Vector(3.0, 3.0, 1.0); vector2 = new Vector(2.0, -4.0, -4.0); vector3 = vector1 + vector2; Console.WriteLine("vector1={0}" , vector1.ToString()); Console.WriteLine("vector2={0}", vector2.ToString()); Console.WriteLine("vector3={0}", vector3.ToString()); vector1 = 2 * vector1; Console.WriteLine("2*vector1={0}", vector1.ToString()); struct Vector { private double _x, _y, _z; public double X { get { return _x; } set { _x = value; } } public double Y { get { return _y; } set { _y = value; } } public double Z { get { return _z; } set { _z = value; } } public Vector(double x, double y, double z) { this._x = x; this._y = y; this._z = z; } public Vector(Vector rhs) { _x = rhs._x; _y = rhs._y; _z = rhs._z; } public override string ToString() { return "(" + _x + "," + _y + "," + _z + ")"; } 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; } //数和向量相乘 public static Vector operator *(double lhs, Vector rhs) { return new Vector(lhs * rhs._x, lhs * rhs._y, lhs * rhs._z); } public static Vector operator *(Vector lhs, double rhs) { return rhs * lhs; } }
相关文章推荐
- C#高级语法基础知识总结7——线程
- C#高级语法基础知识总结2——泛型
- C#高级语法基础知识总结3——数组
- 【知识整理】javascript基础语法总结(2)——数据类型转换和运算符
- C#高级语法基础知识总结5——委托&事件
- C#高级语法基础知识总结6——字符串&集合
- C#高级语法基础知识总结1
- 【知识整理】javascript基础语法总结(4)——条件和循环语句
- C#基础语法---运算符(6.25晚上学内容总结)
- 【知识整理】javascript基础语法总结(5)——字符串API
- python基础知识-(1)语法基础知识总结(转载)
- SQL基础和高级(语法格式)总结一
- 黑马程序员——java第二天:基础语法(总结:运算符)
- 【知识整理】javascript基础语法总结(9)——错误处理
- oc总结 --oc基础语法相关知识
- OC总结 【OC基础语法相关知识】
- <<UNIX环境高级编程>>学习总结——第一章:UNIX基础知识
- 栋栋晓09:Javascript学习总结:基础知识1(语法、关键字和保留字、变量、数据类型、操作符)
- 基础知识(C#语法、数据库SQL Server)回顾与总结
- oc总结 --oc基础语法相关知识