C#保留字

C#保留字详解

定义

C#保留字 是C#语言对于编译器有特殊意义的预定义标识,不允许用户将其作为自定义标识来使用。

用户可在保留字前添加前缀符号@ 与保留字共同使用将其转变为自定义标识来使用。例如:@new


数量

截至2015-12-28,官方认可保留字为104个,详见 MSDN - C# Keywords。其中如下保留字存在重复:
- in
- out
- partial
- where


作用域分类

以作用范围论,可分为两类:

1. 语言级保留字(含79个保留字): 在整个C#语言中都作为保留字使用。
*语言级保留字(79)
abstractasbaseboolbreakbytecasecatchcharchecked
classconstcontinuedecimaldefaultdelegatedodoubleelseenum
eventexplicitexternFALSEfinallyfixedfloatforforeachgoto
ifimplicitinin (generic modifier)intinterfaceinternalislocklong
namespacenewnullobjectoperatoroutout (generic modifier)overrideparamsprivate
protectedpublicreadonlyrefreturnsbytesealedshortsizeofstackalloc
staticstringstructswitchthisthrowTRUEtrytypeofuint
ulonguncheckedunsafeushortusingvirtualvoidvolatilewhile
2. 上下文保留字(含25个保留字): 在特定的上下文中作为关键字使用;除此特定的上下文外,可被允许作为自定义标识符使用。
*上下文保留字(25)
addaliasascendingasyncawaitdescendingdynamicfromgetglobal
groupintojoinletorderbypartial (type)partial (method)removeselectset
valuevarwhere (generic type constraint)where (query clause)yield
C#保留字分为语言级保留字和上下文保留字,它们各有不同的含义和用途: - **语言级保留字**:在整个C#语言中都作为保留字使用,不能被用作自定义标识符。像`abstract`用于定义抽象类或抽象方法,意味着该类不能被实例化,方法必须在派生类中实现;`bool`用于声明布尔类型的变量,其值只能是`true`或`false`;`class`用于定义类,类是面向对象编程的基本构建块;`const`用于声明常量,常量的值在声明后不能被修改;`if`用于条件判断,根据条件的真假来决定执行不同的代码块;`return`用于从方法中返回值并结束方法的执行等。以下是部分语言级保留字及其含义: ```csharp // 使用abstract定义抽象类 abstract class Shape { // 抽象方法 public abstract double Area(); } // 使用bool声明布尔变量 bool isTrue = true; // 使用class定义类 class Rectangle : Shape { public double Width { get; set; } public double Height { get; set; } // 实现抽象方法 public override double Area() { return Width * Height; } } // 使用const声明常量 const int MaxValue = 100; // 使用if进行条件判断 if (isTrue) { Console.WriteLine("The value is true."); } // 使用return返回值 public double GetArea(Rectangle rect) { return rect.Area(); } ``` - **上下文保留字**:在特定的上下文中作为关键字使用,除此特定的上下文外,可被允许作为自定义标识符使用。例如`async`和`await`用于异步编程,`async`用于修饰方法,表示该方法是一个异步方法,`await`用于等待一个异步操作完成;`from`、`where`、`select`等用于LINQ查询,`from`用于指定查询的数据源,`where`用于筛选数据,`select`用于指定查询的结果。以下是部分上下文保留字及其含义: ```csharp // 使用async和await进行异步编程 async Task<int> CalculateAsync() { await Task.Delay(1000); return 42; } // 使用LINQ查询 List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; var result = from num in numbers where num > 2 select num; ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值