关闭

C# 类型体系

519人阅读 评论(0) 收藏 举报

C# 2005 类型体系包含下列几种类别:

·         值类型

·         引用类型

·         指针类型

值类型的变量存储数据,而引用类型的变量存储对实际数据的引用。引用类型也称为对象。指针类型仅可用于 unsafe 模式。

通过装箱和取消装箱,可以将值类型转换为引用类型,然后再转换回值类型。除了装箱值类型外,无法将引用类型转换为值类型。

本节还介绍 void 类型。

值类型也可以为空,这意味着它们能存储加法非值状态。有关更多信息,请参见可空类型

修饰符用于修改类型和类型成员的声明。本节介绍 C# 2005 修饰符:

修饰符

用途

访问修饰符

·         public

·         private

·         internal

·         protected

指定声明的类型和类型成员的可访问性。

abstract

指示某个类只能是其他类的基类。

const

指定无法修改字段或局部变量的值。

event

声明事件。

extern

指示在外部实现方法。

·         new

从基类成员隐藏继承的成员。

override

提供从基类继承的虚拟成员的新实现。

partial

在整个同一程序集中定义分部类和结构。

readonly

声明一个字段,该字段只能赋值为该声明的一部分或者在同一个类的构造函数中。

sealed

指定类不能被继承。

static

声明属于类型本身而不是属于特定对象的成员。

unsafe

声明不安全的上下文。

virtual

在派生类中声明其实现可由重写成员更改的方法或访问器。

volatile

指示字段可由操作系统、硬件或并发执行线程等在程序中进行修改。

方法参数如果在为方法声明参数时未使用 refout,则该参数可以具有关联的值。可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改的值。通过使用方法参数关键字,可以更改这种行为。

本节描述声明方法参数时可以使用的关键字:

·         params

·         ref

·         out

 

命名空间关键字本节描述与 using 命名空间关联的关键字和运算符:

·         命名空间

·         using

·         . 运算符

·         :: 运算符

·         外部别名

运算符关键字用于执行杂项操作,例如创建对象,检查对象的运行时类型,获取类型的大小,等等。本节介绍下列关键字:

·         as   将对象转换为可兼容类型。

·         is   检查对象的运行时类型。

·         new

o        new 运算符   创建对象。

o        new 修饰符   隐藏继承成员。

o        new 约束   限定类型参数。

·         sizeof   获取类型的大小。

·         typeof   获取类型的 System.Type 对象。

·         true   

o        true 运算符   返回布尔值 true 表示真,否则返回 false。

o        true   表示布尔值 true。

·         false   

o        false 运算符   返回布尔值 true 表示假,否则返回 false。

o        false   表示布尔值 false。

·         stackalloc   在堆栈上分配内存块。

语句一节中介绍了下列可用作运算符和语句的关键字:

·         checked   指定已检查的上下文。

·         unchecked   指定未检查的上下文。

转换关键字本节描述在类型转换中使用的关键字:

·         explicit

·         implicit

·         operator

本节介绍下列访问关键字

·         base

访问基类的成员。

·         this

引用类的当前实例。

C# 2005 有下列文字关键字

·         null

·         true

·         false

·         default

上下文关键字用于提供代码中的特定含义,但它不是 C# 2005 中的保留字。本节介绍下面这些上下文关键字:

get   为属性或索引器定义访问器方法。

partial 在整个同一编译单元内定义分部类、结构和接口。

set   为属性或索引器定义访问器方法。

where 向泛型声明中添加约束。

yield 在迭代器块中使用,用于向枚举数对象返回值或发信号结束迭代。

value 用于设置访问器和添加或移除事件处理程序。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:22239次
    • 积分:346
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:20篇
    • 译文:0篇
    • 评论:0条
    文章存档