C# 语言规范 - 表达式与基本元素解析
需积分: 45 67 浏览量
更新于2024-08-07
收藏 4.67MB PDF 举报
"C#语言规范第五版的中文版,涵盖了C#编程的基础知识,包括表达式、语句、类与对象、结构、数组、接口、枚举、委托以及特性等核心概念。"
在C#编程语言中,表达式是构建程序的基本单元,它们用于计算值或者执行操作。在C#中,基本表达式构成了更复杂表达式的基础。以下是描述中提到的一些基本表达式类型:
1. **基本表达式(primary-expression)**:这是表达式中最基础的形式,可以由简单名称、字面量、括号包围的表达式、成员访问、调用表达式、元素访问、`this`访问、`base`访问、后置递增和递减操作、对象创建表达式、委托创建表达式、匿名对象创建表达式、`typeof`表达式、检查表达式、非检查表达式、默认值表达式以及匿名方法表达式组成。
2. **字面量(literal)**:字面量是直接表示特定值的符号,如整数123、浮点数3.14、字符串"Hello"或布尔值true。
3. **简单名称(simple-name)**:这是标识符,可以是变量、类型或成员的名称。
4. **括号表达式(parenthesized-expression)**:用括号括起来的表达式,通常用于改变运算符优先级或组合表达式。
5. **成员访问(member-access)**:通过点`.`操作符访问类或结构的成员,如`myObject.myProperty`。
6. **调用表达式(invocation-expression)**:调用方法或属性,如`myMethod()`或`myProperty = value`。
7. **元素访问(element-access)**:访问数组元素或索引器,如`myArray[0]`。
8. **this访问(this-access)**:当前对象的引用。
9. **base访问(base-access)**:访问基类的成员,通常用于重写。
10. **后置递增和递减操作(post-increment-expression, post-decrement-expression)**:如`i++`和`i--`,在表达式求值后改变变量的值。
11. **对象创建表达式(object-creation-expression)**:用于创建新对象,如`new MyClass()`。
12. **委托创建表达式(delegate-creation-expression)**:创建新的委托实例,将方法绑定到委托。
13. **匿名对象创建表达式(anonymous-object-creation-expression)**:创建没有预定义类型的临时对象。
14. **typeof表达式(typeof-expression)**:返回给定类型名的`System.Type`对象。
15. **检查表达式(checked-expression)**:在检查溢出的上下文中执行整数运算。
16. **非检查表达式(unchecked-expression)**:在不检查溢出的上下文中执行整数运算。
17. **默认值表达式(default-value-expression)**:提供类型的默认值。
18. **匿名方法表达式(anonymous-method-expression)**:在没有定义独立方法的情况下定义一个方法体。
C#语言规范第五版详细介绍了这些表达式的语法和用法,以及如何在C#程序中正确地使用它们。除此之外,规范还涵盖了类和对象的细节,如成员的可访问性、类型形参、基类、字段、方法(包括参数、局部变量、静态与实例方法、虚方法、重写方法、抽象方法、方法重载)、其他函数成员(构造函数、属性、索引器、事件、运算符、析构函数),以及结构、数组、接口、枚举、委托和特性等核心概念。这些内容对于理解和编写C#代码至关重要。
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2012-02-24 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
物联网_赵伟杰
- 粉丝: 46
- 资源: 3964
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析