开发者社区


Web服务 | ASP/ASP.Net | JSP | PHP/Perl | 网站设计
首页 - WEB技术
Web技术
全文搜索:   

使用操作符重载扩展用户自定义的类型
作者: Builder.com
2004-11-08 11:22:12



本文译自Builder.com,未经许可请勿转载 在创建用户自定义的(user-defined)数据类型时,如果用到操作符的话,定义操作符的行为也是必要的。所有的一元操作符和二元操作符都有预定义的实现,比如乘法(*)和减法(-)等,在任何表达式中都会自动提供它们的实现。将这些操作符应用到一个用户自定义的类型上涉及到的行为通常都不是 .NET 平台所固有的。让人感到高兴的是,.NET 平台允许定义、重载这些操作符,以便和用户自定义的类型交互。然而,目前这还只限于 C#。

二元操作符

操作符是返回操作结果的静态方法,操作数作为参数被传递。例如,下面的代码片断使用了加法(+)和乘法(*)操作符。

intadditionResult;
long multiplicationResult;
additionResult = 10 + 21;
multiplicationResult = 10 * 21;
Console.WriteLine(additionResult);
Console.WriteLine(multiplicationResult);

这些操作符返回期望的结果(31和210),但是在处理用户自定义数据类型时,C# 允许你定制它们的行为。

前面我们探讨了操作符的运算过程,下面让我们分析一下哪些 C# 操作符可以被重载:

·         +:加法操作符

·         -:减法操作符

·         *:乘法操作符

·         /:除法操作符

·         %:取模(余数)操作符

·         &:逻辑与(AND)操作符

·         |:逻辑或(OR)操作符

·         ^:指数操作符

·         <<:左移位操作符

·         >>:右移位操作符

·         ==:等于操作符

·         !=:不等于操作符

·         >:大于操作符

·         <:小于操作符

·         >=:大于等于操作符

·         <=:小于等于操作符

【下一页】
声明:
Builder.com.cn(原ZDNet China应用开发频道)原创文章版权所有,未经许可严禁转载,且不构成投资建议。
近期相关报道:
实用技术文档
J2me XML
C/C++ C#
Java Oracle
Mysql .Net
VB.NET CSS
SQL Server 数据库
SQL UNIX
Linux Jsp
PHP Perl
Javascript IIS
XHTML ColdFusion
ASP/ASP.NET Apache
AJAX
订阅技术邮件
订阅"技术圈"杂志!请在下面选择您感兴趣的专题,填写e-mail地址,然后按订阅按钮:
应用开发管理
VS.NET 周刊
Database 周刊
WEB Service周刊
JAVA 周刊
IT 认证
Windows服务器周刊
互联网开发
当Windows Server 2008专家得5000元现金大奖
CNET NETWORKS 中国: 爱卡汽车网 | CNET科技资讯网 | e询网 | CWEEK | 蜂鸟网 | GameSpot China | 个人电脑 | PChome | SPN | 网友世界 | ZDNet China | 中关村在线
CNET NETWORKS 美国: BNET | CNET.com | CNET Download.com | CNET News.com | CNET Reviews | CNET Shopper.com | GameSpot | MP3.com | mySimon | Release 1.0 | Search.com | TechRepublic | TV.com | Webshots | ZDNet
Copyright (c) 2006 CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
ZDNet 公司标识是 CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号