C# 基本运算符重载
2015-08-24 14:29
671 查看
C# 基本运算符重载
简单的二位向量相加减,和某个整数相乘的实现using System; using System.Collections; using System.Collections.Generic; namespace MyVec2 { public struct Vec2 { public int x; public int z; public Vec2(int x, int z) { this.x = x; this.z = z; } public static Vec2 Zero { get { return new Vec2(0, 0); } } public static Vec2 operator +(Vec2 ip1, Vec2 ip2) { return new Vec2(ip1.x + ip2.x, ip1.z + ip2.z); } public static Vec2 operator -(Vec2 ip1, Vec2 ip2) { return new Vec2(ip1.x - ip2.x, ip1.z - ip2.z); } public static Vec2 operator *(Vec2 ip, int multiplier) { return new Vec2(ip.x * multiplier, ip.z * multiplier); } public static Vec2 operator *(Vec2 ip, uint multiplier) { return ip * (int)multiplier; } } }
在Main函数中测试
Vec2 vector1 = new Vec2(1, 3); Vec2 vector2 = new Vec2(2, 4); Vec2 vector3 = vector1 + vector2; Console.WriteLine("vector3.x = {0},vector3.y = {1}", vector3.x, vector3.z);
输出:
相关文章推荐
- C#中泛型List的定义与用法以及常用函数
- C#图片存到资源文件,以及调用图片
- C# 中的委托和事件【转载】
- C#软件winform程序安装包制作及卸载程序制作
- c# 获取所有网卡的信息(IP。MAC)
- C#窗体控件简介
- C#实现判断当前操作用户管理角色的方法
- 10个C#编程和Visual Studio使用技巧
- C#实现简单的Login窗口实例
- 生成大小为100的数组,从1到100,随机插入,不连续,也不重复[C#]
- C# 资源释放及dispose、close方法
- c#udp
- Best Time to Buy and Sell Stock C#
- C#中StreamWriter与BinaryWriter的区别兼谈编码。
- C#中对属性和字段的理解
- [CLR via C#]异常和状态管理
- [CLR via C#]异常和状态管理
- [CLR via C#]异常和状态管理
- C#遍历文件夹及其子目录
- Combination Sum III C#