C# 关键字和标识符

C# 关键字

关键字是具有在程序中具有特殊含义的预定义保留词集。关键字的含义不能改变,也不能直接用作程序中的标识符。

例如,

long mobileNum;

此处,long 是关键字,而 mobileNum 是变量(标识符)。long 在 C# 中具有特殊含义,即它用于声明 long 类型的变量,并且此功能不能更改。

此外,诸如 longintchar 等关键字不能用作标识符。因此,我们不能有类似这样的内容

long long;

C# 总共有 79 个关键字。所有这些关键字都是小写的。以下是所有 C# 关键字的完整列表。

abstract as base bool
break byte case catch
char checked class const
continue decimal default delegate
do 双精度浮点数 else enum
event explicit extern false
finally fixed 浮点数 for
foreach goto if implicit
in in (泛型修饰符) int interface
internal is lock long
namespace new null object
operator out out (泛型修饰符) override
params private protected public
readonly ref return sbyte
sealed short sizeof stackalloc
static string struct switch
this throw true try
typeof uint ulong unchecked
unsafe ushort using using static
void volatile while  

虽然关键字是保留词,但如果加上 @ 前缀,它们也可以用作标识符。例如:

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# 关键字。
  • 标识符必须以字母、下划线或 @ 符号开头。标识符的其余部分可以包含字母、数字和下划线符号。
  • 不允许使用空格。除了字母、数字和下划线之外,也不能包含其他符号。
  • 标识符区分大小写。因此,getNameGetNamegetname 代表 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!" 是一个字符串字面量。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战