C# 语言规范 - 表达式与基本元素解析
需积分: 45 83 浏览量
更新于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 上传
2017-12-19 上传
2010-05-17 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
物联网_赵伟杰
- 粉丝: 46
- 资源: 3955
最新资源
- Java毕业设计项目:校园二手交易网站开发指南
- Blaseball Plus插件开发与构建教程
- Deno Express:模仿Node.js Express的Deno Web服务器解决方案
- coc-snippets: 强化coc.nvim代码片段体验
- Java面向对象编程语言特性解析与学生信息管理系统开发
- 掌握Java实现硬盘链接技术:LinkDisks深度解析
- 基于Springboot和Vue的Java网盘系统开发
- jMonkeyEngine3 SDK:Netbeans集成的3D应用开发利器
- Python家庭作业指南与实践技巧
- Java企业级Web项目实践指南
- Eureka注册中心与Go客户端使用指南
- TsinghuaNet客户端:跨平台校园网联网解决方案
- 掌握lazycsv:C++中高效解析CSV文件的单头库
- FSDAF遥感影像时空融合python实现教程
- Envato Markets分析工具扩展:监控销售与评论
- Kotlin实现NumPy绑定:提升数组数据处理性能