C# 关键字
关键字是具有在程序中具有特殊含义的预定义保留词集。关键字的含义不能改变,也不能直接用作程序中的标识符。
例如,
long mobileNum;
此处,long
是关键字,而 mobileNum 是变量(标识符)。long
在 C# 中具有特殊含义,即它用于声明 long
类型的变量,并且此功能不能更改。
此外,诸如 long
、int
、char
等关键字不能用作标识符。因此,我们不能有类似这样的内容
long long;
C# 总共有 79 个关键字。所有这些关键字都是小写的。以下是所有 C# 关键字的完整列表。
虽然关键字是保留词,但如果加上 @
前缀,它们也可以用作标识符。例如:
int @void;
上面的语句将创建一个 int
类型的变量 @void。
上下文关键字
除了常规关键字之外,C# 还有 25 个上下文关键字。上下文关键字在有限的程序上下文中具有特定含义,并可以在该上下文之外用作标识符。它们不是 C# 中的保留词。
add | alias | ascending |
async | await | descending |
dynamic | from | get |
global | group | into |
join | let | orderby |
partial (类型) | partial (方法) | remove |
select | set | value (值) |
var | when (筛选条件) | where (泛型类型约束) |
yield |
如果您有兴趣了解每个关键字的功能,我建议您访问 C# 关键字(官方 C# 文档)。
C# 标识符
标识符是赋予变量、方法、类等实体的名称。它们是程序中的标记,唯一地标识一个元素。例如:
int value;
此处,value
是变量的名称。因此它是标识符。除非加上 @
前缀,否则保留关键字不能用作标识符。例如:
int break;
该语句将在编译时产生错误。
要了解有关变量的更多信息,请访问 C# 变量。
命名标识符的规则
- 标识符不能是 C# 关键字。
- 标识符必须以字母、下划线或
@
符号开头。标识符的其余部分可以包含字母、数字和下划线符号。 - 不允许使用空格。除了字母、数字和下划线之外,也不能包含其他符号。
- 标识符区分大小写。因此,getName、GetName 和 getname 代表 3 个不同的标识符。
以下是一些有效和无效的标识符:
标识符 | 备注 |
---|---|
number | 有效 |
calculateMarks | 有效 |
hello$ | 无效(包含 $) |
name1 | 有效 |
@if | 有效(带前缀 @ 的关键字) |
if | 无效(C# 关键字) |
My name | 无效(包含空格) |
_hello_hi | 有效 |
示例:查找程序中的关键字和标识符列表
为了弄清概念,让我们在我们在 C# Hello World 中编写的程序中查找关键字和标识符列表。
using System;
namespace HelloWorld
{
class Hello
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
关键字 | 标识符 |
---|---|
using | System |
namespace | HelloWorld (命名空间) |
class | Hello (类) |
static | Main (方法) |
void | args |
string | Console |
WriteLine |
WriteLine
方法中的 "Hello World!" 是一个字符串字面量。