开放的编程资料库

当前位置:我爱分享网 > C#教程 > 正文

C# 词法结构

计算机语言与人类语言一样,具有词汇结构。C#程序的源代码由标记组成。令牌是原子代码元素。在C#中,我们有注释、变量、文字、空格、运算符、定界符和关键字。

C#程序由Unicode字符集中的字符组成。

C#注释

注释被人类用来阐明源代码。C#中有三种类型的注释。单行注释、多行注释和XML注释。可以将XML注释提取到HTML文件中。

多行注释用/**/字符括起来。单行注释以两个正斜杠开头。

/*
    This is Program.cs
    Author: Jan Bodnar
    ZetCode 2022
*/

// A C# statement
Console.WriteLine("This is Comments program");

C#编译器忽略注释。

/*
  This is Program.cs
/*  Author: Jan Bodnar */
  ZetCode 2022
*/

评论不能嵌套;上面的代码无法编译。

C#空白

C#中的空格用于分隔源文件中的标记。它还用于提高源代码的可读性。

int i = 0;

有些地方需要空格。例如在int关键字和变量名之间。在其他地方,空格是被禁止的。它们不能出现在变量标识符或语言关键字中。

int a=1;
int b = 2;
int c  =  3;

标记之间的空间量与C#编译器无关。

C#变量

变量是一个包含值的标识符。在编程中,我们说我们给变量赋值。从技术上讲,变量是对存储值的计算机内存的引用。变量名称可以包含字母数字字符和下划线。标识符可以以字符或下划线开头。它不能以数字开头。

变量名区分大小写。这意味着NamenameNAME指的是三个不同的变量。变量名也不能匹配语言关键字。(事实上​​,如果我们在关键字前面加上@字符,我们可以使用关键字作为标识符。但这不是一个好的编程习惯。)

string name23;
int _col;
Date birth_date;

这些是有效的C#标识符。

string 23name;
int %col;
Date birth date;

这些是无效的C#标识符。

string name = "Robert";
string Name = "Julia";

Console.WriteLine(name);
Console.WriteLine(Name);

标识符区分大小写。Namename是两个不同的标识符。在C#语言的近亲VisualBasic中,这是不可能的。在这种语言中,变量名不区分大小写。

$ dotnet run
Robert
Julia

C#字面量

文字是一种类型的特定值的文本表示。文字类型包括布尔值、整数、浮点数、字符串、字符和日期。从技术上讲,文字将在编译时赋值,而变量将在运行时赋值。

int age = 29;
string nationality = "Hungarian";

这里我们将两个文字分配给变量。数字29和字符串“Hungarian”是文字。

bool sng = true;
string name = "James";
string job = null;
double weight = 68.5;
DateTime born = DateTime.Parse("November 12, 1987");

Console.WriteLine($"His name is {name}");

if (sng)
{
    Console.WriteLine("He is single");
} else
{
    Console.WriteLine("He is in a relationship");
}

Console.WriteLine($"His job is {job}");
Console.WriteLine($"He weighs {weight} kilograms");
Console.WriteLine($"He was born in {born:yyyy}");

在上面的例子中,我们有一些文字。bool文字可能具有值truefalse。“James”是一个字符串文字。null表示任何数据类型的默认值。数字23是一个Integer字面量。数字68.5是浮点数。最后,1987年11月12日是日期。

$ dotnet run
His name is James
He is single
His job is
He weighs 68.5 kilograms
He was born in 1987

C#运算符

运算符是用于对某些值执行操作的符号。运算符在表达式中用于描述涉及一个或多个操作数的操作。

+    -    *    /    %    ^    &    |    !    ~
=    +=   -=   *=   /=   %=    ^=    ++    --
==   !=    <   >    &=  >>=   <<=   >=   <=
||   &&    >>    <<    ?:

这是C#运算符的部分列表。我们将在本教程后面讨论运算符。

C#分隔符

分隔符是一个或多个字符的序列,用于指定纯文本或其他数据流中单独、独立区域之间的边界。

[ ]   ( )   { }   ,   :   ;
string language = "C#";

双字符用于标记字符串的开始和结束。分号(;)字符用于结束每个C#语句。

Console.WriteLine("Today is {0}", DateTime.Today.ToString("M/d"));

圆括号(圆括号)用于标记方法签名。签名由方法参数组成。大括号用于表示评估值。

int[] array = new int[5] {1, 2, 3, 4, 5};

方括号[]用于表示数组类型。它们还用于访问或修改数组元素。大括号{}也用于初始化数组。大括号也用于变量插值或括起方法或类的主体。

int a, b, c;

逗号字符可用于在同一行代码中使用多个声明。

C#关键字

关键字是C#语言中的保留字。关键字用于在计算机程序中执行特定任务。例如,定义变量、重复任务或执行逻辑运算。

C#有很多关键字。关键字包括if,else,for,while,base,falsefloatcatchthis等等。关键字在教程中逐步介绍。

for (int i = 0; i <= 5; i++)
{
    Console.WriteLine(i);
}

该示例使用了两个关键字:intfor

C#约定

约定是程序员在编写源代码时遵循的最佳实践。每种语言都可以有自己的一套约定。惯例不是严格的规则;它们只是编写高质量代码的建议。我们提到了一些被许多C#程序员认可的约定。(通常也是其他程序员)。

  • 类、接口和枚举以大写字母开头。
  • 接口名称以I字母开头。
  • 注释放在单独的行上,而不是在一行代码的结尾。
  • 方法名称以大写字母开头。
  • 每行只放置一个语句或声明。
  • 标识符易于阅读
  • 标识符以PascalCase编写,例如每个后续单词都以大写字母开头。
  • 当同时使用public关键字和static关键字时。
  • Main方法的参数名称是称为args。
  • 常量以大写形式书写。
  • 代码块中的大括号另起一行。

在本文中,我们介绍了C#语言的基本词法结构。

列出所有C#教程。

未经允许不得转载:我爱分享网 » C# 词法结构

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏