C# 关键字【转】
C#中的关键字
关键字是对编译器具有特殊意义的预定义保留标识符。它们不能在程序中用作标识符,除非它们有一个 @ 前缀。例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字。
下面是列出的所有的关键字在 C# 程序的任何部分都是保留标识符:
abstract |
as |
base |
|
checked |
|||
event |
|||
internal |
is |
||
override |
|||
sealed |
|||
static |
|||
virtual |
|||
volatile |
修饰符(C# 参考)
修饰符用于修改类型和类型成员的声明。 本节介绍 C# 修饰符:
修饰符 |
用途 |
指定声明的类型和类型成员的可访问性。 Public:类型与类型成员的访问修饰符,公共访问是允许访问的最高级别 Private:私有访问是允许访问的最低级别,只能在声明它们的类或结构体中访问 Internal:只有在同一程序集中才可以访问 Protected:受保护成员可在其所在的类与派生类访问 |
|
在类中使用adstract指示某个类只能是其他类的基类。不可被实例化,用途是派生出其他非抽象类.当从抽象类派生非抽象类时,这些非抽象类必须具体实现所继承的所有抽象成员,从而重写那些抽象成员(对抽象方法的重写必用override,虚方法的关键字virtual,对虚方法的重写也要用override)。 |
|
指定无法修改字段或局部变量的值。声明常量的关键字 |
|
声明事件。常与委托(delegate)一起使用 |
|
指示在外部实现方法。 |
|
new |
New 运算符:用于创建对象和调用构造函数。 New 修饰符:用于向基类成员隐藏继承成员。 |
override |
要扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现,必须使用 override 修饰符。 |
在整个同一程序集中定义分部类、结构和方法。分部类型定义允许将类、结构或接口的定义拆分到多个文件中。 |
|
声明一个字段,该字段只能赋值为该声明的一部分或者在同一个类的构造函数中。 |
|
指定类不能被继承。密封类关键字,密封类不能被继承(不想让其它类继承可以声明为密封类) |
|
静态成员的关键字,静态成员可以直接通过类来调用(在动静态调用都可以),动态成员必需通过对象来调用 |
|
声明不安全的上下文。Unsafe static void test(){} Unsafe{ } |
|
虚方法的关键字,不含方法实现,用override对其实现,不含startic(多用于多态性) |
|
volatile 关键字指示一个字段可以由多个同时执行的线程修改。 声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。 这样可以确保该字段在任何时间呈现的都是最新的值。 volatile 修饰符通常用于由多个线程访问但不使用 lock 语句对访问进行序列化的字段。 |
语句关键字(C# 参考)
语句是程序指令。 除了下表中引用的主题中介绍的以外,语句都是按照顺序执行的。 下表列出了 C# 语句关键字。 有关不用任何关键字表示的语句的更多信息,请参见语句(C# 编程指南)。
类别 |
C# 关键字 |
命名空间关键字(C# 参考)
本节描述与 using 命名空间关联的关键字和运算符:
Operator Keywords (C# Reference)
用于执行杂项操作,例如创建对象,检查对象的运行时类型,获取类型的大小,等等。 本节介绍下列关键字:
- as 将对象转换为可兼容类型。
- is 检查对象的运行时类型。
- new
- sizeof 获取类型的大小。
- typeof 获取类型的 System.Type 对象。
- true
- false
- stackalloc 在堆栈上分配内存块。
在语句一节中介绍了下列可用作运算符和语句的关键字:
Conversion Keywords (C# Reference)
本节描述在类型转换中使用的关键字:
访问关键字(C# 参考)
本节介绍下列访问关键字:
访问基类的成员。
引用类的当前实例。
文字关键字(C# 参考)
上下文关键字(C# 参考)
上下文关键字用于提供代码中的特定含义,但它不是 C# 中的保留字。本节介绍下面这些上下文关键字:
关键字 |
说明 |
定义一个自定义事件访问器,客户端代码订阅事件时将调用该访问器。 |
|
定义一个引用类型,实现发生绕过编译时类型检查的操作。 |
|
为属性或索引器定义访问器方法。 |
|
指定未以其他方式命名的默认全局命名空间。 |
|
在整个同一编译单元内定义分部类、结构和接口。 |
|
定义一个自定义事件访问器,客户端代码取消订阅事件时将调用该访问器。 |
|
为属性或索引器定义访问器方法。 |
|
用于设置访问器和添加或移除事件处理程序。 |
|
使编译器能够确定在方法作用域中声明的变量的类型。 |
|
将约束添加到泛型声明。(另请参见where)。 |
|
在迭代器块中使用,用于向枚举数对象返回值或发信号结束迭代。 |
C# 3.0 中引入的所有查询关键字也都是上下文相关的。有关更多信息,
查询关键字(C# 参考)
本节包含查询表达式中使用的上下文关键字。
本节内容
子句 |
说明 |
指定数据源和范围变量(类似于迭代变量)。 |
|
根据一个或多个由逻辑“与”和逻辑“或”运算符(&& 或 ||)分隔的布尔表达式筛选源元素。 |
|
指定当执行查询时返回的序列中的元素将具有的类型和形式。 |
|
按照指定的键值对查询结果进行分组。 |
|
提供一个标识符,它可以充当对 join、group 或 select 子句的结果的引用。 |
|
基于元素类型的默认比较器按升序或降序对查询结果进行排序。 |
|
基于两个指定匹配条件之间的相等比较来联接两个数据源。 |
|
引入一个用于存储查询表达式中的子表达式结果的范围变量。 |
|
join 子句中的上下文关键字。 |
|
join 子句中的上下文关键字。 |
|
join 子句中的上下文关键字。 |
|
group 子句中的上下文关键字。 |
|
orderby 子句中的上下文关键字。 |
|
orderby 子句中的上下文关键字。 |
C# 关键字【转】的更多相关文章
- 作为一个新手的Oracle(DBA)学习笔记【转】
一.Oracle的使用 1).启动 *DQL:数据查询语言 *DML:数据操作语言 *DDL:数据定义语言 DCL:数据控制语言 TPL:事务处理语言 CCL:指针控制语言 1.登录 Win+R—cm ...
- JavaScript var关键字、变量的状态、异常处理、命名规范等介绍
本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...
- java面向对象中的关键字
1,super关键字 super:父类的意思 1. super.属性名 (调用父类的属性) 2. super.方法名 (调用父类的方法) 3. super([参数列表])(调用父类的构造方法) 注意: ...
- 关于javascript中的this关键字
this是非常强大的一个关键字,但是如果你不了解它,可能很难正确的使用它. 下面我解释一下如果在事件处理中使用this. 首先我们讨论一下下面这个函数中的this关联到什么. function doS ...
- transient关键字的用法
本篇博客转自 一直在路上 Java transient关键字使用小记 1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,Java ...
- Java关键字:static
通常,当创建类时,就是在描述那个类的外观和行为.只有用new创建类的对象时,才分配数据存储空间,方法才能被调用.但往往我们会有下面两种需求: 1.我想要这样一个存储空间:不管创建多少对象,无论是不创建 ...
- Core Java 总结(关键字,特性问题)
2016-10-19 说说&和&&的区别 初级问题,但是还是加入了笔记,因为得满分不容易. &和&&都可以用作逻辑与的运算(两边是boolean类型), ...
- Net中的常见的关键字
Net中的关键字有很多,我们最常见的就有new.base.this.using.class.struct.abstract.interface.is.as等等.有很多的,在这里就介绍大家常见的,并且有 ...
- php多关键字查询
php单一关键字查询 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 tdansitional//EN" "http: ...
- Keil> 编译器特有的功能 > 关键字和运算符 > __weak
__weak 此关键字指示编译器弱导出符号. 可以将 __weak 关键字应用于函数和变量声明以及函数定义. 用法 函数和变量声明 对于声明,此存储类指定一个 extern 对象声明,即使不存在,也不 ...
随机推荐
- Spring+SpringMvc+Mybatis框架集成搭建教程二(依赖配置及框架整合)
依赖导入以及框架整合 (1).打开项目的pom.xml文件,声明依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" x ...
- thinkphp 杂项(3.2.3)
G('start');//时间描点start php代码.... G('end');//时间描点end echo G('start','end',4).'-----------'; 时间统计echo ...
- Linux网络管理2---(网络环境查看命令、网络测试命令)
1.网络环境查看命令 ifconfig命令 查看或临时修改网络状态的命令 可以看到IP.子网掩码……信息 关闭和启动网卡 ifdown 网卡设备名(比如: ifdown eth0):禁用该网卡设备 i ...
- 计算机系列:CUDA 深入研究
Copyright © 1900-2016, NORYES, All Rights Reserved. http://www.cnblogs.com/noryes/ 欢迎转载,请保留此版权声明. -- ...
- SQL 2012 Restore HeaderOnly
--USE [master] GO /****** Object: StoredProcedure [dbo].[zsp_RestoreHeaderOnly] Script Date: 2014/1/ ...
- cpp 4个类型转换
static_cast.dynamic_cast.reinterpret_cast.const_cast 之间的区别 static_cast 用法:static_cast (expression) 说 ...
- php调试
转自:http://www.cnblogs.com/gidot/p/4307709.html
- OpenFOAM 学习路线 【转载】
"Two weeks of playing with a CFD code will save you one afternoon of reading" 什么是OpenFOAM( ...
- TextSwitcher 简单用例
TextSwitcher 字面理解是文字交换器,是ViewSwitcher的子类,从ViewSwitcher来看,是View交换器,TextSwitcher继承自ViewSwitcher,显然是交换T ...
- CodeForces 455D 分块
题目链接:http://codeforces.com/problemset/problem/455/D 题意:给定一个长度为n的序列a[]. m次操作.共有两种操作 1 l r:将序列的a[l].a[ ...