(19)C# 基础—— 关键字大全

值类型关键字

关键字说明关键字说明
enum用于声明枚举struct用于声明结构
char声明System.Char结构的字符,表示Unicode字符decimal128位浮点类型,适合于财务和货币计算
float32位浮点值的简单类型double64位浮点值的简单类型
byte无符号的8为整数,0到255sbyte8位带符号整数,-128到127
int整型类型,带符号的32位整数uint整型类型,无符号的32位整数
long带符号64为整数ulong无符号64位整数
short有符号16位整数ushort无符号16位整数
bool用于声明变量来存储true和false

引用类型关键字

关键字说明关键字说明
class声明类delegate声明委托
dynamic绕过编译时类型检查,在运行时解析这些操作interface声明接口
object是 .NET Framework 中 Object 的别名string表示零个或多个Unicode字符,声明字符串

var:从 Visual C# 3.0 开始,在方法范围内声明的变量可以具有隐式“类型”var。 隐式类型本地变量为强类型,就像用户已经自行声明该类型,但编译器决定类型一样。 i 的以下两个声明在功能上是等效的:

    var i = 10; // Implicitly typed. 
    int i = 10; // Explicitly typed.

void:当用作一种方法的返回类型时,void 将指定该方法不返回值。

修饰符关键字

访问修饰符

关键字说明关键字说明
public访问不受限制protected基类和派生类可以访问
internal当前程序集可以访问protected internal当前程序集或集合和派生类中可以访问
private私有的,当前类来可以访问private protected访问仅限于从当前程序集中的包含类派生的包含类

其他修饰符关键字

关键字说明
abstract在类中使用adstract指示某个类只能是其他类的基类。不可被实例化,用途是派生出其他非抽象类.当从抽象类派生非抽象类时,这些非抽象类必须具体实现所继承的所有抽象成员,从而重写那些抽象成员(对抽象方法的重写必用override,虚方法的关键字virtual,对虚方法的重写也要用override)。
async可将方法、lambda表达式或匿名方法指定为异步
const声明常量
event声明事件。常和委托(delegate)一起使用
extern指示在外部实现的方法
in(泛型修饰符)对于泛型类型参数,in 关键字可指定类型参数是逆变的
out(泛型修饰符)对于泛型类型参数,out 关键字可指定类型参数是协变的
override扩展或修改继承的方法、属性、索引器或事件的抽象或虚拟实现需要 override 修饰符。
readonly在字段声明中,readonly 指示只能在声明期间或在同一个类的构造函数中向字段赋值。在 readonly struct 定义中,readonly 指示 struct 是不可变的。在 ref readonly 方法返回中,readonly 修饰符指示该方法返回一个引用,且不允许向该引用写入内容。
sealed应用于某个类时,sealed 修饰符可阻止其他类继承自该类
static使用 static 修饰符可声明属于类型本身而不是属于特定对象的静态成员
unsafeunsafe 关键字表示不安全上下文,该上下文是任何涉及指针的操作所必需的
virtualvirtual 关键字用于修改方法、属性、索引器或事件声明,并使它们可以在派生类中被重写
volatilevolatile 关键字指示一个字段可以由多个同时执行的线程修改

语句关键字

类型说明
选择语句if-else、switch-case
迭代语句do、for、foreach-in、while
跳转语句break、continue、goto、return
异常处理throw、try-catch、try-finally、try-catch-finally
溢出检查Checked、Unchecked
fixed语句fixed 语句可防止垃圾回收器重新定位可移动的变量。 fixed 语句仅允许存在于不安全的上下文中。 fixed 还可用于创建固定大小的缓冲区
lock语句lock 关键字将语句块标记为关键部分,方法是获取给定对象的互斥锁,执行语句,然后释放该锁

方法参数关键字

关键字说明关键字说明
params使用 params 关键字可以指定采用数目可变的参数的方法参数in(参数修饰符)in 关键字通过引用传递参数。 它类似于 ref 或 out 关键字,不同之处在于 in 参数无法通过调用的方法进行修改
refref 关键字指示按引用传递的值。 它用在四种不同的上下文中:在方法签名和方法调用中,按引用将参数传递给方法。 在方法签名中,按引用将值返回给调用方。 在成员正文中,指示引用返回值是否作为调用方欲修改的引用被存储在本地,或在一般情况下,局部变量按引用访问另一个值。 在 struct 声明中声明 ref struct 或 ref readonly struct。out(参数修饰符)out 关键字通过引用传递参数。 它与 ref 关键字相似,只不过 ref 要求在传递之前初始化变量。 它也类似于 in 关键字,只不过 in 不允许通过调用方法来修改参数值。 若要使用 out 参数,方法定义和调用方法均必须显式使用 out 关键字

命名空间关键字

关键字说明关键字说明
namespace用于声明包含一组相关对象的作用域。可以是用命名空间来组织代码元素并创建全局唯一类型usingsing 关键字有两个主要用途:作为指令:用于为命名空间创建别名或导入在其他命名空间中定义的类型。作为语句:用于定义一个范围,在此范围的末尾将释放对象。此外,使用 using 静态指令可定义一种类型,在未指定类型名称的情况下即可访问该类型的静态成员。
extren使用外部程序集别名,可在别名命名的根级别命名空间内包装每个程序集的命名空间,使其能够在同一文件中使用

运算符关键字

关键字说明关键字说明
as可以使用 as 运算符在符合的引用类型或可以为 null 的类型之间执行某些类型的转换awaitawait 运算符应用于异步方法中的任务,在方法的执行中插入挂起点,直到所等待的任务完成
is检查对象是否与给定类型兼容,或(从 C# 7.0 开始)针对某个模式测试表达式。new用于创建对象和调用构造函数,用于隐藏基类成员,用于限制可能用作泛型声明中类型形式参数的实际参数的类型
sizeof用于获取非托管类型的大小(以字节为单位)typeof用于为类型获取 System.Type 对象
true用作重载运算符或文本false用作重载运算符或文本
stackalloc在不安全代码上下文中使用 stackalloc 关键字在堆栈上分配内存块。nameof用于获取变量、类型或成员的简单(非限定)字符串名称。

转换关键字

关键字说明关键字说明
explicitexplicit 关键字声明必须通过转换来调用的用户定义的类型转换运算符implicitimplicit 关键字用于声明隐式的用户定义类型转换运算符。 如果可以确保转换过程不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换。
operatior使用 operator 关键字重载内置运算符,或在类或结构声明中提供用户定义的转换。

访问关键字

关键字说明关键字说明
basebase 关键字用于从派生类中访问基类的成员:调用基类上已被其他方法重写的方法。指定创建派生类实例时应调用的基类构造函数。仅允许基类访问在构造函数、实例方法或实例属性访问器中进行。从静态方法中使用 base 关键字是错误的。thisthis 关键字指代类的当前实例,还可用作扩展方法的第一个参数的修饰符。

文本关键字

关键字说明关键字说明
defaultdefault 关键字可用于 switch 语句或默认值表达式中:nullnull 关键字是表示不引用任何对象的空引用的文字值。 null 是引用类型变量的默认值。

上下文关键字

关键字说明关键字说明
add定义一个自定义事件访问器,客户端代码订阅事件时将调用改访问器get为属性或索引器定义访问器方法
global指定未以其他方式命名的默认全局命名空间partial(类型)在同一个编译单元定义部分类、结构和接口等
partial(方法)在同一个编译单元定义部分方法remove定义一个自定义事件访问器,客户端代码取消订阅事件时将调用该访问器
set为属性或索引器定义访问器方法when(筛选条件)在以下两个上下文中,可以使用上下文关键字 when 指定筛选条件:在 try/catch 或 try/catch/finally 块的 catch 语句中。在 switch 语句的 case 标签中。
where(泛型类型约束)将约束添加到泛型声明value用于设置访问器和添加或移除事件处理程序
yield在迭代器块中使用,用于向枚举对象返回值或发送信号结束迭代

查询关键字

关键字说明关键字说明
from子句指定数据源和范围变量(类似于迭代变量)where子句根据一个或多个由逻辑“与”和逻辑“或”运算符(&&或II)分隔的布尔表达式筛选源元素
select子句指定当执行查询时返回的序列中的元素将具有的类型和形式group子句按照指定的键值对查询结果进行分组
into提供一个标识符,它可以充当对join、group或select子句的结果的引用orderby子句基于元素类型的默认比较器按升序或降序对查询结果进行排序
join子句基于两个指定匹配条件之间的额相等比较来链接两个数据源let子句引入一个用于存储查询表达式中的子表达式结果的范围变量
ascendingorder by子句中的上下文关键字,按升序排序descendingorder by子句中的上下文关键字,按降序排序
onjoin子句中的上下文关键字equalsjoin子句中的上下文关键字
bygroup子句中的上下文关键字injoin子句中的上下文关键字
  • 4
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值