C#中所有的保留字(一)

asbstract :

  abstract 修饰 类、方法或属性的定义

  abstract 修饰符用于类中不具有实现的方法或属性或者用于包含这些方法的类。 具有抽象成员的类不能使用 new 运算符来实例化。 您可以从抽象基类派生抽象和非抽象的类。

  类中的方法和属性以及类可以使用 abstract 修饰符来标记。 如果一个类包含任何 abstract 成员,则必须标记为 abstract。 接口和接口的成员为隐式抽象,它们不能采用 abstract 修饰符。 字段不能为 abstract。

  不能将 abstract 修饰符与其他继承修饰符 ( final) 组合。 默认情况下,类成员既不是 abstract 也不是 final。 继承修饰符不能与 static 修饰符组合。 

as :

  由于对象是多态的,因此基类类型的变量可以保存派生类型。若要访问派生类型的方法,需要将值强制转换回该派生类型。不过,在这些情况下,如果只尝试进行简单的强制转换,会导致引发 InvalidCastException 的风险。 这就是 C# 提供 is 和 as 运算符的原因。 您可以使用这两个运算符来测试强制转换是否会成功,而没有引发异常的风险。通常, as 运算符更高效一些,因为如果可以成功进行强制转换,它会实际返回强制转换值。 而 is 运算符只返回一个布尔值。 因此,如果只想确定对象的类型,而无需对它进行实际强制转换,则可以使用 is 运算符。 

base :

      base 关键字用于从派生类中访问基类的成员:

  调用基类上已被其他方法重写的方法。

  指定创建派生类实例时应调用的基类构造函数。

  基类访问只能在构造函数、实例方法或实例属性访问器中进行。

  从静态方法中使用 base 关键字是错误的。

  所访问的基类是类声明中指定的基类。例如,如果指定 class ClassB : ClassA,则无论 ClassA 的基类如何,从 ClassB 上访问 ClassA 的成员。

bool :

      bool 关键字是 System.Boolean 的别名。 它用于声明变量来存储布尔值 true 和 false。

      bool? 生命一个可以为null的布尔值。

break :

      break 语句用于终止最近的封闭循环或它所在的 switch 语句。 控制传递给终止语句后面的语句(如果有的话)。

byte :

      byte 关键字代表无符号8位整数,0-255。

  存在从 byte 到 short、 ushort、 int、 uint、 long、 ulong、 float、 double 或 decimal 的预定义隐式转换。

  不能将更大存储大小的非文本数值类型隐式转换为 byte。

case :

      switch 语句是一个控制语句,它通过将控制传递给其体内的一个 case 语句来处理多个选择和枚举

catch :

      try-catch 语句由一个 try 块后跟一个或多个 catch 子句构成,这些子句指定不同的异常处理程序。 引发异常时,公共语言运行时 (CLR) 会查找处理此异常的 catch 语句。 如果当前执行的方法不包含这样的 catch 块,则 CLR 会查看调用当前方法的方法,然后会遍历调用堆栈。 如果找不到 catch 块,则 CLR 会向用户显示一条有关未经处理的异常的消息并停止执行程序。

  try 块包含可能导致异常的保护代码。 该块一直执行到引发异常或成功完成为止。

      虽然可以使用不带参数的 catch 子句捕捉任何类型的异常,但不推荐这种用法。 通常,您应该只捕捉那些您知道如何从中恢复的异常。因此,应该总是指定一个从 System.Exception 派生的对象参数。

      您也可以引发新的异常。此时,请将捕捉的异常指定为内部异常。

      如果不想再本过程中处理异常,可以使用throw将异常抛出。

char :

      Char 关键字用于声明下表所示范围内的 Unicode 字符。 Unicode 字符是 16 位字符,用于表示世界上大多数已知的书面语言。

      char 可以隐式转换为 ushort、 int、 uint、 long、 ulong、 float、 double 或 decimal。 但是,不存在从其他类型到 char 类型的隐式转换。

System.Char 类型提供几个处理 char 值的静态方法。

checked:

      checked 关键字用于对整型算术运算和转换显式启用溢出检查。

  默认情况下,如果表达式仅包含常数值,且产生的值在目标类型范围之外,则它会导致编译器错误。如果表达式包含一个或多个非常数值,则编译器不检测溢出。

  默认情况下,在运行时也不检查这些非常数表达式是否溢出,这些表达式不引发溢出异常。

  可以通过编译器选项、环境配置或使用 checked 关键字来启用溢出检查。

  可以使用 unchecked 关键字阻止溢出检查。

class :

  使用class来声明类:

  C# 中仅允许单个继承,但可以实现多个接口。

const :

  const 关键字用于修改字段或局部变量的声明。 它指定字段或局部变量的值是常数,不能被修改。

  常数声明的类型指定声明引入的成员类型。常数表达式必须产生具有目标类型或者可隐式转换为目标类型的类型的值。

  常数表达式是在编译时可被完全计算的表达式。因此,对于引用类型的常数,可能的值只能是 string 和 null。

  不允许在常数声明中使用 static 修饰符。

  readonly 关键字与 const 关键字不同。 const 字段只能在该字段的声明中初始化。 readonly 字段可以在声明或构造函数中初始化。 因此,根据所使用的构造函数, readonly 字段可能具有不同的值。 另外,虽然 const 字段是编译时常量,但 readonly 字段可用于运行时常量,如此行所示:

  public static readonly uint l1 = (uint)DateTime.Now.Ticks;

continue :

  continue 语句将控制权传递给它所在的封闭迭代语句的下一次迭代。

decimal :

  decimal 关键字表示 128 位数据类型。 同浮点型相比, decimal 类型具有更高的精度和更小的范围,这使它适合于财务和货币计算。大致范围(-7.9 x 10 28 - 7.9 x 10 28) / (10 0 - 28) 28-29位有效位。

  如果希望实数被视为 decimal 类型,请使用后缀 m 或 M,如果没有后缀 m,数字将被视为 double 类型,从而导致编译器错误。

  整型被隐式转换为 decimal,其计算结果为 decimal。 因此,可以用整数初始化十进制变量而不使用后缀。

  整型到decimal可以隐式转换,double不可以。

default:

  default 关键字可在 switch 语句或泛型代码中使用。用于处理其他情况。

delegate :

  委托类型的声明与方法签名相似,有一个返回值和任意数目任意类型的参数。

  delegate 是一种可用于封装命名或匿名方法的引用类型。 委托类似于 C++ 中的函数指针;但是,委托是类型安全和可靠的。有关委托的应用。

  委托是 事件的基础。

do :

  do 语句重复执行括在 {} 里的一个语句或语句块,直到指定的表达式计算为 false。

  与 while 语句不同的是, do-while 循环会在计算条件表达式之前执行一次。

  在 do-while 块中的任何点,都可使用 break 语句跳出循环。 使用 continue 语句可以直接进入 while 表达式计算语句;如果表达式计算结果为 true,则会继续从循环的第一个语句执行。 如果表达式计算结果为 false,则会继续从 do-while 循环后的第一个语句执行。

  do-while 循环还可以通过 goto、 return 或 throw 语句退出。

double :

  double 关键字表示存储 64 位浮点值的简单类型。大致范围(±5.0 × 10 −324 到 ±1.7 × 10 308),精度15位到16位。

  默认情况下,赋值运算符右侧的实数被视为 double。 但是,如果希望整数被视为 double,请使用后缀 d 或 D。

  可在一个表达式中兼用数值整型和浮点型。在此情况下,整型将转换为浮点型。根据以下规则计算表达式:

  如果其中一个浮点类型为 double,则表达式的计算结果为 double 或 bool(在关系表达式或布尔表达式中)。

  如果表达式中不存在 double 类型,则表达式的计算结果为 float 或 bool(在关系表达式或布尔表达式中)。

  浮点表达式可以包含下列值集:

    正零和负零。

    正无穷和负无穷。

    非数字值 (NaN)。

    有限的非零值集。

else :

  if 语句根据 Boolean 表达式的值选择要执行的if后还是else后语句。

  If else的多种嵌套方式。

enum:

  enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型。

  通常情况下,最好是在命名空间内直接定义枚举,以便该命名空间中的所有类都能够同样方便地访问它。但是,还可以将枚举嵌套在类或结构中。

  默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1。

  强烈建议枚举包含一个值为 0 的常量。

  每种枚举类型都有基础类型,该类型可以是除 char 以外的任何整型。 枚举元素的默认基础类型为 int。 若要声明另一整型枚举,例如 byte,请在标识符之后紧跟冒号, 然后再使用类型。

  与任何常量一样,对枚举中各个值的所有引用在编译时均将转换为数值文本。这可形成潜在的版本控制问题。

event :

  event 关键字用于在发行者类中声明事件。

  事件是特殊类型的多路广播委托,仅可从声明它们的类或结构(发行者类)中调用。如果其他类或结构订阅了该事件,则当发行者类引发该事件时,会调用其事件处理程序方法。

  事件可标记为 public、 private、 protected、 internal 或 protectedinternal。

  通过使用 static 关键字,可以将事件声明为静态事件。 即使类没有任何实例,调用方也能在任何时候使用静态事件。

  通过使用 virtual 关键字,可以将事件标记为虚拟事件。 这样,派生类就可以通过使用 override 关键字来重写事件行为。 重写虚事件的事件也可以为 sealed,以表示其对于派生类不再是虚事件。 最后,可以将事件声明为 abstract,这意味着编译器不会生成 add 和 remove 事件访问器块。 因此派生类必须提供其自己的实现。

posted on 2011-06-07 02:10  myunelf  阅读(791)  评论(0)    收藏  举报