会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
卡莱
Operator运算符重载与Implicit隐式类型转换
class Person { public int Age { get; set; } public string Name { get; set; } public static int operator -(Person p1, Person p2)//int为想减结果类型,-表示对-进行运算符重载 //参数为待计算的两个值 { return p1.Age - p2.Age; } //当重载>后,要求必须重载< public static bool operator >(Person p1, Person p2) { return p1.Age > p2.Age; } public static bool operator <(Person p1, Person p2) { return p1.Age < p2.Age; } //将string 转换成Person public static implicit operator Person(string s) { Person p = new Person(); p.Name = s; return p; } //将Person 转换成string public static implicit operator string(Person p) { return p.Name; } //当重载==后,要求必须重载!= public static bool operator ==(Person p1, Person p2) { return p1.Name == p2.Name && p1.Age == p2.Age; } public static bool operator !=(Person p1, Person p2) { return !(p1 == p2); } }
发表于
2011-12-13 09:40
卡莱
阅读(
313
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部
公告
导航
博客园
首页
新随笔
新文章
联系
订阅
管理