第六章 运算符和类型强制转换
前几章介绍了使用C#编写程序所需要的大部分知识。本章将首先讨论基本语言元素,接着论述C#语言的扩展功能。本章的主要内容如下:
● C#中的可用运算符
● 处理引用类型和值类型时相等的含义
● 基本数据类型之间的数据转换
● 使用装箱技术把值类型转换为引用类型
● 通过强制转换技术在引用类型之间转换
● 重载标准的运算符,以支持对定制类型的操作
● 给定制类型添加强制转换运算符,以支持无缝的数据类型转换
6.1 运算符
C和C++开发人员应很熟悉大多数C#运算符,这里为新程序员和VB开发人员介绍最重要的运算符,并介绍C#中的一些新变化。
C#支持表6-1所示的运算符,其中有4个运算符(sizeof、*、–>、&)只能用于不安全的代码(这些代码绕过了C#类型安全性的检查),这些不安全的代码见第11章的讨论。
表 6-1
|
类 别 |
运 算 符 |
|
算术运算符 |
+ – * / % |
|
逻辑运算符 |
& | ^ ~ && || ! |
|
字符串连接运算符 |
+ |
|
增量和减量运算符 |
++ – – |
|
移位运算符 |
<< >> |
|
比较运算符 |
== != < > <= >= |
|
类 别 |
运 算 符 |
|
赋值运算符 |
= += –= *= /= %= &= |= ^= <<= >>= |
|
成员访问运算符(用于对象和结构) |
. |
|
索引运算符(用于数组和索引器) |
[] |
|
数据类型转换运算符 |
() |
|
条件运算符 (三元运算符) |
?: |
|
委托连接和删除运算符(见第7章) |
+ – |
|
对象创建运算符 |
new |
|
类型信息运算符 |
sizeof (只用于不安全的代码) is typeof as |
|
溢出异常控制运算符 |
checked unchecked |
|
间接寻址运算符 |
* –> & (只用于不安全代码) [] |
|
命名空间别名限定符(见第2章) |
:: |
|
空接合运算符 |
?? |
x = 3; |
if (x == 3)
{
}
|
if (x = 3)
{
}
|
| 回书目 上一节 下一节 |
|
· 第六章 你能帮我吗?.. · Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. |
· 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. |
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||