📜  C#关键字和标识符

📅  最后修改于: 2020-10-06 09:32:15             🧑  作者: Mango

在本教程中,我们将学习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 double else enum
event explicit extern false
finally fixed float for
foreach goto if implicit
in in (generic modifier) int interface
internal is lock long
namespace new null object
operator out out (generic modifier) 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 (type) partial (method) remove
select set value
var when (filter condition) where (generic type constraint)
yield    

如果您想了解每个关键字的函数 ,建议您访问C#关键字(官方C#文档)。


C#标识符

标识符是给变量,方法,类等实体的名称。它们是程序中唯一标识元素的令牌。例如,

int value;

在这里, value是变量的名称。因此,它是一个标识符。除非添加@作为前缀,否则保留关键字不能用作标识符。例如,

int break;

该语句将在编译时生成错误。

要了解有关变量的更多信息,请访问C#变量。


标识符命名规则
  • 标识符不能是C#关键字。
  • 标识符必须以字母,下划线或@符号开头。标识符的其余部分可以包含字母,数字和下划线符号。
  • 不允许使用空格。除字母,数字和下划线外,它都不能有其他符号。
  • 标识符区分大小写。因此, getNameGetNamegetname表示3个不同的标识符。

以下是一些有效和无效的标识符:

Identifiers Remarks
number Valid
calculateMarks Valid
hello$ Invalid (Contains $)
name1 Valid
@if Valid (Keyword with prefix @)
if Invalid (C# Keyword)
My name Invalid (Contains whitespace)
_hello_hi Valid

示例:在程序中查找关键字和标识符的列表

只是为了澄清概念,让我们在用C#Hello World编写的程序中找到关键字和标识符的列表。

using System;
namespace HelloWorld
{
    class Hello
{         
        static void Main(string[] args)
        {
          Console.WriteLine("Hello World!");
        }
    }
}

Keywords Identifiers
using System
namespace HelloWorld (namespace)
class Hello (class)
static Main (method)
void args
string Console
  WriteLine

“ Hello World!” WriteLine方法内部是字符串 字面量。