猿教程 Logo

C# 关键词

C#包含保留字,对编译器有特殊含义。 这些保留字称为“关键字”。 关键字不能用作变量,类,接口等的名称(标识符)。

C#中的关键字分为以下类别:


修饰符关键字

修饰符关键字是指定谁可以修改类型和类型成员的特定关键字。 修饰符允许或防止程序的某些部分被其他部分修改。...

修饰符

用途

访问修饰符

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

Public:类型与类型成员的访问修饰符,公共访问是允许访问的最高级别

Private:私有访问是允许访问的最低级别,只能在声明它们的类或结构体中访问

Internal:只有在同一程序集中才可以访问

Protected:受保护成员可在其所在的类与派生类访问

abstract

在类中使用adstract指示某个类只能是其他类的基类。不可被实例化,用途是派生出其他非抽象类.当从抽象类派生非抽象类时,这些非抽象类必须具体实现所继承的所有抽象成员,从而重写那些抽象成员(对抽象方法的重写必用override,虚方法的关键字virtual,对虚方法的重写也要用override)。

const

指定无法修改字段或局部变量的值。声明常量的关键字

event

声明事件。常与委托(delegate)一起使用

extern

指示在外部实现方法。

new

New 运算符:用于创建对象和调用构造函数。

New 修饰符:用于向基类成员隐藏继承成员。

override

要扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现,必须使用 override 修饰符。

partial

在整个同一程序集中定义分部类、结构和方法。分部类型定义允许将类、结构或接口的定义拆分到多个文件中。

readonly

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

sealed

指定类不能被继承。密封类关键字,密封类不能被继承(不想让其它类继承可以声明为密封类)

static

静态成员的关键字,静态成员可以直接通过类来调用(在动静态调用都可以),动态成员必需通过对象来调用

unsafe

声明不安全的上下文。Unsafe static void test(){}

Unsafe{  }

virtual

虚方法的关键字,不含方法实现,override对其实现,不含startic(多用于多态性)

volatile

volatile 关键字指示一个字段可以由多个同时执行的线程修改。 声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。 这样可以确保该字段在任何时间呈现的都是最新的值。 

volatile 修饰符通常用于由多个线程访问但不使用 lock 语句对访问进行序列化的字段。

 


访问关键字

访问修饰符应用于类,方法,属性,字段和其他成员的声明。 它们定义类及其成员的可访问性。

class和struct的默认访问修饰符是private,enum和interface是public的。

关键字作用
public类型与类型成员的访问修饰符,公共访问是允许访问的最高级别
private私有访问是允许访问的最低级别,只能在声明它们的类或结构体中访问
internal只有在同一程序集中才可以访问
protected受保护成员可在其所在的类与派生类访问



语句关键字

语句是程序指令。 除了下表中引用的主题中介绍的以外,语句都是按照顺序执行的。 下表列出了 C# 语句关键字。 有关不用任何关键字表示的语句的更多信息,请参见语句(C# 编程指南)

类别

C# 关键字

选择语句

ifelseswitchcase

迭代语句

doforforeachinwhile

跳转语句

breakcontinuedefaultgoto,returnyield

异常处理语句

throwtry-catchtry-finallytry-catch-finally

检查和未检查

checkedunchecked

fixed 语句

fixed

lock 语句

lock


方法参数关键字

这些关键字应用于方法的参数。

方法参数关键字
params
ref
out



命名空间关键字

这些关键字应用命名空间和相关运算符。

命名空间关键字
using
. operator
:: operator
extern alias

操作关键字

用于执行杂项操作,例如创建对象,检查对象的运行时类型,获取类型的大小,等等。

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

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

new

new 运算符   创建对象。

new 修饰符   隐藏继承成员。

new 约束   限定类型参数。

sizeof   获取类型的大小。

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

true

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

true   表示布尔值 true。

false

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

false   表示布尔值 false。

stackalloc   在堆栈上分配内存块。

checked   指定已检查的上下文。

unchecked   指定未检查的上下文。


访问关键字

Access关键字用于访问包含类或对象或类的基类。

访问关键字
base
this



文字关键字

文字关键字适用于对象的当前实例或值。

文字关键字
null
false
true
value
void



类型关键字

类型关键字用于数据类型。

Type keywords
bool
byte
char
class
decimal
double
enum
float
int
long
sbyte
short
string
struct
uint
ulong
ushort

上下文关键字

上下文关键字被视为关键字,上下文关键字用于提供代码中的特定含义,仅在某些上下文中使用。 它们不是保留的,因此可以用作名称或标识符。

关键字

说明

add

定义一个自定义事件访问器,客户端代码订阅事件时将调用该访问器。

dynamic

定义一个引用类型,实现发生绕过编译时类型检查的操作。

get

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

global

指定未以其他方式命名的默认全局命名空间。

Partial — 部分

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

remove

定义一个自定义事件访问器,客户端代码取消订阅事件时将调用该访问器。

set

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

value

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

var

使编译器能够确定在方法作用域中声明的变量的类型。

where

将约束添加到泛型声明。(另请参见where)。

yield

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

在Visual Studio中用作标识符时,上下文关键字不会转换为蓝色(visual studio中的关键字的默认颜色)。 例如,下图中的var不是蓝色,而this颜色是蓝色。 所以var是一个上下文关键字。



查询关键字

查询关键字是在LINQ查询中使用的上下文关键字。

子句

说明

from

指定数据源和范围变量(类似于迭代变量)。

where

根据一个或多个由逻辑和逻辑运算符(&&  ||)分隔的布尔表达式筛选源元素。

select

指定当执行查询时返回的序列中的元素将具有的类型和形式。

group

按照指定的键值对查询结果进行分组。

into

提供一个标识符,它可以充当对 joingroup select 子句的结果的引用。

orderby

基于元素类型的默认比较器按升序或降序对查询结果进行排序。

join

基于两个指定匹配条件之间的相等比较来联接两个数据源。

let

引入一个用于存储查询表达式中的子表达式结果的范围变量。

in

join 子句中的上下文关键字。

on

join 子句中的上下文关键字。

equals

join 子句中的上下文关键字。

by

group 子句中的上下文关键字。

ascending

orderby 子句中的上下文关键字。

descending

orderby 子句中的上下文关键字。

如上所述,关键字不能用作标识符(变量,类,接口等的名称)。 但是,它们可以与前缀“@”一起使用。 例如,类是保留关键字,因此它不能用作标识符,但可以使用@class,如下所示。

关键字作为名称的案例

public class @class
{
    public static int MyProperty { get; set; }
}
@class.MyProperty = 100;

有关关键字的详细信息,请访问MSDN


记住要点
  1. 关键字是不能用作名称或标识符的保留字。

  2. 如果要将其用作标识符,请使用关键字前缀“@”。

  3. C#包括各种类别的关键字。 修饰符关键字,访问修饰符关键字,语句关键字,方法参数关键字等。

  4. 上下文关键字可用作标识符。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/CSharp/Csharp-keys.html