一、提要
与人类语言一样,计算机语言具有词汇结构。 C# 程序的源代码由标记组成。词法是原子代码元素。在 C# 中,我们有
- 注释、变量、文字、空格
- 运算符、分隔符、关键字。
C# 程序一律用 Unicode 字符集中的字符组成。
二、C# 的注释
人类使用注释来阐明源代码。 C# 中有三种类型的注释:
- 单行注释、
- 多行注释
- XML 注释。
XML 注释可以提取到 HTML 文件中。
2.1 多行注释用 /* */ 字符括起来。
Program.cs
/*
This is Program.cs
Author: Jan Bodnar
ZetCode 2021
*/
2.2 单行注释以两个正斜杠开头。
// A C# statement
注释不可嵌套,注释不编译。
2.3 XML注释
为了使用C#提供的XML注释功能,你的注释应该使用特殊的注释语法(///)开头。在///之后,你可以使用预先定义的标签注释你的代码,也可以插入你自己定义的标签。你定制的标签将会在随后加入到生成的注释文档中。如:
/// <summary>
/// Enter description for method someMethod.
/// ID string generated is "M:MyNamespace.MyClass.someMethod(System.String,System.Int32@,System.Void*)".
/// </summary>
三、C# 的空格
C#中的白色空间用于将源文件中的关键词分隔。它还用于提高源代码的可读性。如
int i = 0;
在某些地方需要空格。例如,int关键字和变量名称之间。在其他地方,禁止白板。它们不能以可变标识符或语言关键字存在。
int a=1;
int b = 2;
int c = 3;
标记之间的空间量与 C# 编译器无关。
四、 C#变量( variables)
变量是保存值的标识符。在编程中,我们说我们为变量赋值。从技术上讲,变量是对存储值的计算机内存的引用。变量名称可以包含字母数字字符和下划线。标识符可以以字符或下划线开头。它可能不以数字开头。
变量名区分大小写。这意味着 Name、name 和 NAME 指的是三个不同的变量。变量名也不能匹配语言关键字。 (事实上,如果我们在关键字前面加上 @ 字符,我们可以使用关键字作为标识符。但这不是一个好的编程习惯。)
string name23;
int _col;
Date birth_date;
以上定义合法,以下定义不合法:
string 23name;
int %col;
Date birth date;
定义变量时,大小写敏感:
Program.cs
string name = "Robert";
string Name = "Julia";
Console.WriteLine(name);
Console.WriteLine(Name);
运行:
$ dotnet run
Robert
Julia
五、C# 的保留字literals
文字是一种类型的特定值的文本表示。文字类型包括布尔、整数、浮点、字符串、字符和日期。从技术上讲,文字将在编译时分配一个值,而一个变量将在运行时分配。
int age = 29;
string nationality = "Hungarian";
在这里,我们将两个文字分配给变量。数字 29 和字符串 "Hungarian" 是文字。
Program.cs
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}");
在上面的例子中,我们有一些文字。布尔字面量的值可能为真或假。 “詹姆斯”是一个字符串文字。 null 表示任何数据类型的默认值。数字 23 是一个整数字面量。数字 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、false、float、catch、this 和许多其他关键字。关键字在教程中逐步介绍。
Program.cs
for (int i = 0; i <= 5; i++)
{
Console.WriteLine(i);
}
该示例使用两个关键字:int 和 for。
九、C# 约定
约定是程序员在编写源代码时遵循的最佳实践。每种语言都可以有自己的一套约定。约定不是严格的规则;它们只是编写高质量代码的建议。我们提到了许多 C# 程序员认可的一些约定。 (通常也由其他程序员)。
- 类、接口和枚举以大写字母开头。
- 接口名称以 I 字母开头。
- 注释放在单独的行上,而不是放在代码行的末尾。
- 方法名称以大写字母开头。
- 每行只放置一个语句或声明。
- 标识符易于阅读且有意义。
- 标识符用 PascalCase 编写,例如随后的每个单词都以大写字母开头。
- 当两者都使用时,public 关键字在 static 关键字之前。
- Main 方法的参数名称称为 args。
- 常量用大写字母书写。
- 代码块中的花括号从新行开始。
在 C# 教程的这一部分中,我们介绍了 C# 语言的基本词汇。