C#教程

C#关键字

我们曾在前面的课程中讨论过源代码,除了只拥有0和1的机器语言,其它诸如汇编语言、C语言、Java语言、C#语言等都是由一系列的关键字、标识符、运算符、括号等构成。运算符和各种括号在C#中定赋予了特定的含义,而关键字是指C# 编译器预定义的保留字。这些关键字是组成C#语言最重要的部分,程序员就不能将它们作为标识符使用。

比如下面的代码,namespace、internal 、class 就是C#的关键字,它们在C#语言中代表着不同的功能,而Helloworld、Person就是标识符。namespace 表示定义一个命名空间,class表示声明一个类型,internal表示这个类型的可见范围。

namespace Helloworld
{
    internal class Person
    {
    }
}

虽然我们不能直接将关键字做为标识符使用,但是,通过在关键字前面增加@前缀符号,就可以变相使用它们做为标识符。另外,如果我们把C#的关键字全部学完,基本上C#就学会了90%。下面我们来看一下C#的关键字到底有哪些,在学习C#这门语言之前,先总览知识点,居高临下去学习。

C#的关键字分两种,一种是保留关键字,另一种是上下文关键字。像上面的namespace、internal 、class 都是保留关键字。有些关键字在代码的上下文中有特殊的意义,如 get 和 set,这些被称为上下文关键字(contextual keywords)。下面我们以字母顺序将它们一一阐述如下:

abstract:标识一个可以扩展但不能被实例化,具必须被实现的类或方法;

as:一个转换操作符,如果转化失败,就返回null;

base:用于访问被派生类或构造中得同名成员隐藏的基类成员;

bool:表示布尔值的简单类型;

break:用于从循环语句块或switch语句中退出的跳转语句;

byte:表示8位长度无符号整数的简单类型;

case:指定在switch语句中的一个标签。如果标签中指定的常量与switch表达式的值匹配,则与标签关联的语句就被执行;

catch:定义一个代码块,在特定类型异常抛出时,执行块内代码。参考try和finally;

char:表示16位Unicode字符的简单类型;

checked:既是操作符又是语句。确保编译器和运行时检查整数类型操作或转换时出现的溢出;

class:指明一个声明得类类型声明;

const:使用 const 关键字来声明某个常量字段或局部变量。 常量字段和常量局部变量不是变量并且不能修改;

continue:用于返回循环顶部的跳转语句;

decimal:表示128位高精度十进制数的简单类型;

default:在switch语句中,指定一组语句,如果前面没有匹配得case子句,就执行这些语句;

delegate:指定一个声明为一种委托类型。委托把方法封装为可调用实体,能在委托实体中调用;

do:一个条件语句,无论条件是否满足,都执行至少一次;

double:表示64位双精度浮点值得简单类型;

else:if条件语句的一部分,如果条件不为真则执行else后面的语句。

enum:表示一个已命名常量群集得值类型;

event:允许一个类或对象提供通知得成员,它必须是委托类型;

explicit:一个定义用户自定义转换操作符的操作符,通常用来将内建类型转换为用户定义类型或反向操作。必须在转换时调用显式转换操作符;

extern:标识一个将在外部(通常不是C#语言)实现的方法;

false:一个布尔字面值;

finally:定义一个代码块,在程序控制离开try代码块后执行。参见try和catch关键字;

fixed:在一个代码块执行时,在固定内存位置为一个变量指派一个指针;

float:表示32位单精度浮点值得简单类型;

for:定义一个循环语句,只要指定条件满足就继续执行;

foreach:用于遍历一个群集的元素;

goto:一个跳转语句,将程序执行重定向到一个标签语句;

if:一个条件语句,根据一个布尔表达式的值选择一个语句执行;

implicit:一个操作符,定义一个用户定义的转换操作符。通常用来将预定义类型转换为用户定义类型或反向操作。隐式转换操作符必须在转换时使用;

in:foreach语句遍历语法的一部分,被放在变量名与要遍历的群集之间;

int:表示32位带符号整数值的简单类型;

interface:将一个声明指定为接口类型,即实现类或构造必须遵循的合同;

internal:一个访问修饰符。内部代码元素只可由同一装配件内的其他类型访问。装配件可以是DDL或EXE文件;

is:比较两个对象类型得比较操作符;

lock:用在多线程程序中,为变量设置一个互斥锁(mutex);

long:表示64位带符号整数值的简单类型;

namespace:定义一个逻辑组的类型和命名空间;

new:用于调用构造器的操作符。同时,也是一个修饰符,用来隐藏而非重载拥有同样签名得一个继承方法;

null:表示引用类型中等同于0的字面值;

object:一个预定义引用类型,表示所有引用类型得终极基类。也是预定义类型System.Object的别名;

operator:用来声明或多载一个操作符;

out:标识一个参数值会受影响得参数,但在传入方法时,该参数无需先初始化;

override:一个修饰符,表明一个方法将覆载一个虚方法或抽象方法,或一个操作符将覆载基类中定义的同名操作符;

params:声明一个参数数组。如果使用,必须修改指定的最后一个参数。允许可选参数;

private:一个访问修饰符。私有成员只能在定义该成员得类型内部访问;

protected:一个访问修饰符。保护成员只能在定义该成员得类型或派生类型中的访问;

public:一个访问修饰符。公有成员可以在定义该成员得类或命名空间内外自由访问;

readonly:标识一个变量的值在初始化后不可修改;

ref:标识一个参数值可能会受影响的参数;

return:一个用于跳出方法的跳转语句。执行返回到方法调用者;

sbyte:表示8位带符号整数的简单类型;

sealed:防止类型被派生,防止方法和property被覆载;

short:表示16位带符号整数值的简单类型;

sizeof:一个操作符,以byte为单位返回一个值类型的长度;

stackalloc:返回在堆上分配的一个内存块的指针;

static:静态成员与它在其中被声明得类型相关联,而不是与类型得实体相关联;

string:一个表示Unicode字符串得预定义引用类型。是System.String预定义类型的别名;

struct:是一种值类型,可以声明常量、字段、方法、property、索引器、操作符、构造器和内嵌类型;

switch:一个选择语句,它执行与表达式匹配标签相关联的语句列表;

this:引用一个类型的当前实体;

throw:导致抛出一个异常;

true:一个布尔字面值;

try:异常处理代码块得组成部分之一。try代码块包括可能会抛出异常的代码。参阅catch和finally关键字;

typeof:一个操作符,返回传入参数的类型;

uint:表示32位无符号整数值的简单类型;

ulong:表示64位无符号整数值的简单类型;

unchecked:禁止溢出检查;

unsafe:标注包含指针操作得代码块、方法或类;

ushort:表示16位无符号整数值的简单类型;

using:当用于命名空间时,using关键字允许访问该命名空间中的类型,而无需指定其全名。也用于定义finalization操作的范围;

virtual:一个方法修饰符,标识可被覆载的方法;

void:无返回值方法的返回类型;

volatile:标识一个可被操作系统、某些硬件设备或并发线程修饰的attribute;

while:while条件语句根据条件执行一个语句零次或多次。do语句中的while部分指定循环中止条件。

保留关键字

上下文关键字

如果您现在还看不懂上面这些关键字,不要紧,我们会在后面的章节中将它们融入到C#的知识点详细讲解,姑且先将上面这些关键字作为一个学习目录吧

——重庆教主 2023年12月12日

copyright @重庆教主 C#中文网 联系站长:(QQ)23611316 (微信)movieclip (QQ群).NET小白课堂:864486030 | 本文由C#中文网原创发布,谢绝转载 渝ICP备2023009518号-1