C# 类型体系

原创 2006年06月25日 22:10:00

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 用于设置访问器和添加或移除事件处理程序。

相关文章推荐

软件体系结构考试类型

  • 2014年06月15日 13:12
  • 289KB
  • 下载

mysql 体系结构以及各种文件类型学习汇总

1、mysql体系结构由数据库和数据库实例组成,是单进程多线程架构。数据库:物理操作系统文件或者其他文件的集合,在mysql中,数据库文件可以是frm、myd、myi、ibd等结尾的文件,当使用ndb...

Linux运维学习笔记之六:Linux中的文件类型、属性、正则表达式、权限体系

第十章 Linux中的文件类型 一、扩展名:    windows利用文件扩展名来区分文件类型    Linux中文件扩展名和文件类型没有关系     为了容易区分和兼容用户使用windows...

.net 流——流的类型体系简单介绍

流的类型体系  基础流 装饰器流 包装器类 帮助类 继承自基本的stream流 在基础Stream上添加的功能 数据传输 对文件流的操作变简单       基础流  Stre...

计算机体系结构1_内存类型

一,IA32、INTEL64和AMD64内存类型   1.Uncacheable(UC)   读,写都不会被缓存。   2.Cache Disable(CD)   读写命中L1数据缓存,L2缓存,在访...

流和序列化(二)--流的类型体系

流大致可以分为以下几类。如图:

Swift 的类型体系

Brent Simmons 在 解决目前不存在的问题,就好像问题存在一样 中说到:Swift 的类型体系解决了我没碰到的一个问题。 对这句话我深有同感,而且我敢打赌很多其他的 Objective-C ...
  • mmoaay
  • mmoaay
  • 2015年09月23日 10:08
  • 1315

MySql-体系结构以及各种文件类型

MySql体系结构由数据库和数据库实例组成,是单进场多线程架构。数据库:物理操作系统文件或者其它文件的集合,数据库文件可以是frm、myd、myi、ibd等结尾的文件。当使用ndb存储引擎时候,不是o...

MySQL体系结构以及各种文件类型学习汇总

1,mysql体系结构 由数据库和数据库实例组成,是单进场多线程架构。 数据库:物理操作系统文件或者其它文件的集合,在mysql中,数据库文件可以是frm、myd、myi、ibd等结尾的文...

C#读书笔记(3)-.NET体系结构

.NET体系结构 C#语言不能孤立地使用,而必须.NET Framework一起考虑。C#编译器专门用于NET,这表明C#编写的所有代码总是在.NET Framework中运行 ●C#的结构和方法论...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# 类型体系
举报原因:
原因补充:

(最多只允许输入30个字)