【C#学习笔记之一】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#学习笔记之一】C#中的关键字的更多相关文章
- 并发编程学习笔记(4)----jdk5中提供的原子类及Lock使用及原理
(1)jdk中原子类的使用: jdk5中提供了很多原子类,它会使变量的操作变成原子性的. 原子性:原子性指的是一个操作是不可中断的,即使是在多个线程一起操作的情况下,一个操作一旦开始,就不会被其他线程 ...
- Web安全学习笔记 SQL注入中
Web安全学习笔记 SQL注入中 繁枝插云欣 --ICML8 权限提升 数据库检测 绕过技巧 一.权限提升 1. UDF提权 UDF User Defined Function,用户自定义函数 是My ...
- [学习笔记] 在Eclipse中导入项目
参考前文:[学习笔记] 在Eclips 中导出项目 选择已经导出的文件: 导入之后,项目结构如下: 至此,完成.
- CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储
CockroachDB学习笔记--[译]CockroachDB中的SQL:映射表中数据到键值存储 原文标题:SQL in CockroachDB: Mapping Table Data to Key- ...
- [学习笔记] 在Eclipse中导出可以直接运行的jar,依赖的jar中的类解压后放在运行jar中
前文: [学习笔记] 在Eclipse中导出可以直接运行的jar,依赖的jar打在jar包中 使用7z打开压缩包,查看所有依赖的jar都被解压以包名及class的方式存储在了运行jar中,此时jar的 ...
- [学习笔记] 在Eclipse中导出可以直接运行的jar,依赖的jar打在jar包中
本文需要参考前文: [学习笔记] 在Eclipse中导出可以直接运行的jar,依赖的jar在子目录中 上文是导出的运行的依赖jar被放在了子目录中,本文是将依赖jar放在可运行jar的本身,这样发布的 ...
- [学习笔记] 在Eclipse中导出可以直接运行的jar,依赖的jar在子目录中
工程创建可参考前文: [学习笔记] 在Eclipse中使用Hibernate,并创建第一个工程,数据库为Oracle XE 在工程上鼠标右键: 找到java 选择 Runable JAR file N ...
- Backbone学习笔记一Backbone中的MVC
原文章地址http://bigdots.github.io/2015/12/01/Backbone学习笔记(一)/#more Backbone.js为复杂WEB应用程序提供模型(models).集合( ...
- vue学习笔记(九)vue-cli中的组件通信
前言 在上一篇博客vue学习笔记(八)组件校验&通信中,我们学会了vue中组件的校验和父组件向子组件传递信息以及子组件通知父组件(父子组件通信),上一篇博客也提到那是对组件内容的刚刚开始,而本 ...
- [学习笔记] 在Eclipse中添加用户库 Add User Libraries ,在项目中引用用户库
如果还没有安装Eclipse, 则请参考前文: [学习笔记] 下载.安装.启动 Eclipse(OEPE) 添加用户库 本文主要介绍在项目中直接使用第三方库的情况.就是把第三方的jar文件直接放到某 ...
随机推荐
- WebUploader分片断点上传文件(二)
写在前面: 这几天,有去研究一下WebUploader上传文件,前面的博客有记录下使用WebUploader简单上传文件的例子,今天就把分片断点上传的例子也记录下吧,在博客园中,也查看了一些资料,基本 ...
- www.netcraft.com查看站点服务器使用的是什么操作系统
查看站点服务器使用的是什么操作系统
- 【python】BIF及查看函数帮助
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 07:18:10) [MSC v.1900 32 bit (Intel)] on win32 Type ...
- 那些容易遗忘的web前端问题
背景: 年底将至,本人这只才出门的前端菜鸟,终于有空闲的时间来整理一下最近投简历时出现的问题.有的是经常使用但是没有仔细留意造成的:有的是个人认为根本没人使用而忽略的.为了下次不出现这种错误,进行一下 ...
- JavaWeb之数据源连接池(3)---Tomcat
此文续 <JavaWeb之数据源连接池(2)---C3P0>. Apache Tomcat作为一款JavaWeb服务器,内置了DBCP数据源连接池.在使用中,只要进行相应配置即可. 首先, ...
- 解题思路:house robber i && ii && iii
这系列题的背景:有个小偷要偷钱,每个屋内都有一定数额的钱,小偷要发家致富在北京买房的话势必要把所有屋子的钱都偷了,但是屋子之内装了警报器,在一定条件下会触发朝阳群众的电话,所以小偷必须聪明一点,才能保 ...
- MySQL: Integer & String types
Type Storage(bytes) Minimum Value Maximum Value TINYINT 1 -128/0 127/255 SMALLINT 2 -23768/0 23767/6 ...
- Shader 1:能接受阴影的透明shader
第一次接触Shader,项目需要,直接说需求吧,需要一个透明并且能接受阴影的shader.unity系统自带的shader已经满足不了了.上一段代码吧 Shader "GreenArch/T ...
- 跟我一起学JQuery插件开发教程
在逛codeproject网站的时候,突然看到一篇文章:How to write plugin in Jquery. 如果对E文好的同学 ,可以看上面的连接.现在我把上面网站的及结合自己的想法写这篇文 ...
- 妙味课堂:JavaScript初级--第11课:字符串、查找高亮显示
1.数字字母 Unicode 编码 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content- ...