C#包含对编译器具有特殊含义的保留字。这些保留字称为“关键字”。关键字不能用作标识符(变量名,类,接口等)。
C#中的关键字分布在以下类别中:
修饰语
修饰语关键字是特定的关键字,指示谁可以修改类型和类型成员。修饰符允许或阻止程序的某些部分被其他部分修改。
修饰语关键字 |
---|
abstract |
async |
const |
event |
extern |
new |
override |
partial |
readonly |
sealed |
static |
unsafe |
virtual |
volatile |
访问修饰符关键字:
访问修饰符应用于类,方法,属性,字段和其他成员的声明。它们定义了类及其成员的可访问性。
访问修饰符 | 用法 |
---|---|
public | Public修饰符允许同一程序集或另一个程序集中的程序的任何部分都可以访问到类型及其成员。 |
private | Private修饰符限制程序的其他部分访问类型及其成员。只有再相同类或结构中的代码才能访问它。 |
internal | 内部修饰符允许同一程序集中的其他程序代码访问类型或其成员。如果未指定修饰符,则这是默认的访问修饰符。 |
protected | 通过使用Protected修饰符,同一类或从该类派生的类中的代码可以访问该类型或其成员。 |
语句关键字
语句关键字与程序流有关。
语句关键字 |
---|
if |
else |
switch |
case |
do |
for |
foreach |
in |
while |
break |
continue |
default |
goto |
return |
yield |
throw |
try |
catch |
finally |
cheched |
unchecked |
fixed |
lock |
方法参数关键字
这些关键字被应用于方法的参数。
方法参数关键字 |
---|
params |
ref |
out |
命名空间关键字
这些关键字与命名空间和相关运算符一起应用。
命名空间关键字 |
---|
using |
.operator |
::operator |
extern alias |
操作员关键字
操作员关键字执行其他操作。
操作员关键字 |
---|
as:用于在兼容的引用类型之间执行转换 |
await:前提方法要被async修饰,才能在方法内部使用await,await后面必须是一个task,标记了await,就说明后面的操作是一个异步操作,但是主线程还是要等待这个异步操作完毕,才可以继续往下执行,由此而知,如果是异步操作,没有用await修饰,则主线程不会阻塞,还有一种等待的方式就是:task.Result。 |
is:目的就一个,检查变量是不是给定的类型,是就返回true,不是就false |
new:创建对象。 |
sizeof:用于获取非托管类型的大小(以字节为单位) |
typeof:返回Type对象,该对象保存类型信息 |
stackalloc |
checked:检测操作的溢出情况 |
unchecked:忽略溢出关键字,接受结果而不管溢出情况,默认是不检查溢出的 |
访问关键字
访问关键字用于访问对象或类的包含类或基类。
访问关键字 |
---|
base |
this |
文字关键字
文字关键字适用于对象的当前实例或值。
文字关键字 |
---|
null |
false |
true |
value |
void |
类型关键字
类型关键字用于数据类型。
输入关键字 |
---|
bool |
byte |
char |
class |
decimal |
double |
enum |
float |
int |
long |
sbyte |
short |
string |
struct |
uint |
ulong |
ushort |
上下文关键字
上下文关键字仅在特定上下文中使用时才被视为关键字。它们不是保留的,因此可以用作名称或标识符。
上下文关键字 |
---|
add |
var |
dynamic |
global |
set |
value |
当上下文关键字用作Visual Studio中的标识符时,不会将其转换为蓝色(Visual Studio中关键字的默认颜色)。例如,下图中的var不是蓝色,而其颜色是蓝色。因此,var是上下文关键字。
查询关键词
查询关键字是LINQ查询中使用的上下文关键字。
查询关键词 |
---|
from |
where |
select |
group |
into |
orderby |
join |
let |
in |
on |
equals |
by |
ascending |
descending |
如上所述,关键字不能用作标识符(变量名,类,接口等)。但是,它们可以与前缀“ @”一起使用。例如,该类是保留关键字,因此它不能用作标识符,但可以按如下所示使用@class。
示例:使用关键字作为标识符
<span style="color:#181717"><span style="color:#101010"><span style="color:#000000"><code><span style="color:#0000ff">public</span> <span style="color:#0000ff">class</span> <span style="color:#2b91af">@class</span>
{
<span style="color:#0000ff">public</span> <span style="color:#0000ff">static</span> <span style="color:#0000ff">int</span> MyProperty { get; set; }
}
<span style="color:#2b91af">@class</span>.MyProperty = 100;
</code></span></span></span>
![](https://i-blog.csdnimg.cn/blog_migrate/f81d296790a0b426002d5118dd20c7d0.png)
- 关键字是保留字,不能用作名称或标识符。
- 如果您想使用关键字,请结合“ @”作为关键字的前缀。
- C#包括各种类别的关键字,例如修饰符关键字,访问修饰符关键字,语句关键字,方法参数关键字等。
- 上下文关键字可以用作标识符。