C#代码的基本语法

开发 后端
C#代码的外观和操作方式与C++和Java非常类似。初看起来,其语法可能比较混乱,不像书面英语和其他语言。但是,在C#编程中,使用的样式是比较清晰的,不用花太多的力气就可以编写出可读性很强的代码。

与其他语言的编译器不同,无论代码中是否有空格、回车符或tab字符(这些字符统称为空白字符),C#编译器都不考虑这些字符。这样格式化代码时就有很大的自由度,但遵循某些规则将有助于使代码易于阅读。

C#代码由一系列语句组成,每个语句都用一个分号来结束。因为空格被忽略,所以一行可以有多个语句,但从可读性的角度来看,通常在分号的后面加上回车符,这样就不能在一行上放置多个语句了。但一句代码放在多个行上是可以的(也比较常见)。

C#是一个块结构的语言,所有的语句都是代码块的一部分。这些块用花括号来界定("{" 和 "}"),代码块可以包含任意多行语句,或者根本不包含语句。注意花括号字符不需要附带分号。

所以,简单的C#代码块如下所示:

  1. {  
  2. < code line 1, statement 1>;  
  3. < code line 2, statement 2>  
  4. < code line 3, statement 2>;  

其中< code line x, statement y>部分并不是真正的C#代码,而是用这个文本作为C#语句的占位符。注意在这段代码中,第2、3行代码是同一个语句的一部分,因为在第2行的末尾没有分号。

在这个简单的代码块中,还使用了缩进格式,使C#代码的可读性更高。这不是我的发明,而是一个标准规则,实际上在默认情况下VS会自动缩进代码。一般情况下,每个代码块都有自己的缩进级别,即它向右缩进了多少。代码块可以互相嵌套(即块中可以包含其他块),而被嵌套的块要缩进得多一些。

  1. {  
  2. < code line 1>;  
  3. {  
  4. < code line 2>;  
  5. < code line 3>;  
  6. }  
  7. < code line 4>;  

前面代码的续行通常也要缩进得多一些,如上面第一个示例中的第3行代码。

注释:

在能通过Tools | Options访问的VS Options对话框中,显示了VS用于格式化代码的规则。在Text Editor | C# | Formatting节点的子目录下,包含了完整的格式化规则。此处的大多数设置都反映了还没有讲述的C#部分,但如果以后要修改设置,以更适合自己的个性化样式,就可以回过头来看看这些设置。在本书中,为了简洁起见,所有的代码段都使用默认设置来格式化。

记住,这种样式并不是强制的。但如果不使用它,读者在阅读本书时会很快陷入迷茫之中。

在C#代码中,另一个常见的语句是注释。注释并不是严格意义上的C#代码,但代码最好有注释。注释就是解释,即给代码添加描述性文本(用英语、法语、德语、外蒙古语等),编译器会忽略这些内容。在开始处理比较长的代码段时,注释可用于给正在进行的工作添加提示,例如“这行代码要求用户输入一个数字”,或“这段代码由Bob编写”。C#添加注释的方式有两种。可以在注释的开头和结尾放置标记,也可以使用一个标记,其含义是“这行代码的其余部分是注释”。在C#编译器忽略回车符的规则中,后者是一个例外,但这是一种特殊情况。

要使用第一种方式标记注释,可以在注释的开头加上“”。这些注释符号可以在单独一行上,也可以在不同的行上,注释符号之间的所有内容都是注释。注释中惟一不能输入的是“*/”,因为它会被看作注释结束标记。所以下面的语句是正确的。

但下面的语句会产生错误:

" characters */

注释结束符号后的内容("*/"后面的字符)会被当作C#代码,因此产生错误。

另一个添加注释的方法是用“//”开始一个注释,其后可以编写任何内容,只要这些内容在一行上即可。下面的语句是正确的:

  1. // This is a different sort of comment. 

但下面的语句会失败,因为第二行代码会解释为C#代码:

  1. // So is this,  
  2.  
  3. but this bit isn't. 

这类注释可用于语句的说明,因为它们都放在一行上:

  1. < A statement>; // Explanation of statement 

前面说过有两种方法给C#代码添加注释。但在C#中,还有第三类注释,严格地说,这是//语法的扩展。它们都是单行注释,用三个"/"符号来开头,而不是两个。

  1. /// A special comment 

在正常情况下,编译器会忽略它们,就像其他注释一样,但可以配置VS,在编译项目时,提取这些注释后面的文本,创建一个特殊格式的文本文件,该文件可用于创建文档说明书。具体内容见第28章。

特别要注意的一点是,C#代码是区分大小写的。与其他语言不同,必须使用正确的大小写形式输入代码,因为简单地用大写字母代替小写字母会中断项目的编译。

如果读者对C#语言没有什么了解,就很难理解这一点,看看下面这行代码,它在第2章的第一个示例中使用:

  1. Console.WriteLine("The first app in Beginning C# Programming!"); 

C#编译器能理解这行代码,因为Console.WriteLine()命令的大小写形式是正确的。但是,下面的语句都不能工作:

  1. console.WriteLine("The first app in Beginning C# Programming!");  
  2.  
  3. CONSOLE.WRITELINE("The first app in Beginning C# Programming!");  
  4.  
  5. Console.Writeline("The first app in Beginning C# Programming!");  

这里使用的大小写形式是错误的,所以C#编译器不知道我们要做什么。

幸好,VS在代码的输入方面提供了许多帮助,在大多数情况下,它都知道(程序也知道)我们要做什么。在输入代码的过程中,VS会推荐用户可能要使用的命令,并尽可能纠正大小写问题。

【编辑推荐】

  1. C# winForm自定义鼠标样式的两种方法
  2. C#自定义消息框的设置图解
  3. 掌握C#自定义泛型类:从初始化说起
  4. C#存储过程的循序渐进
  5. 存储过程的优势及其调用方法介绍
责任编辑:book05 来源: 新浪博客
相关推荐

2023-03-31 07:44:01

2009-08-20 13:23:00

C#正则表达式

2009-08-27 11:43:31

C#语法

2011-08-02 13:16:36

Objective-C 语法 函数

2009-08-18 12:52:33

C#枚举类型

2009-08-11 15:44:05

C#基本技巧

2009-08-28 16:53:05

C# for语句

2011-07-06 09:46:56

C#

2011-07-06 09:44:34

C#

2009-09-08 16:10:03

C# ListBox

2023-09-01 10:00:17

2020-07-15 14:51:39

代码C+开发

2009-09-02 17:24:44

C#关机代码

2009-08-18 13:35:06

C#枚举文件

2009-08-06 10:55:46

C#代码解释器

2023-09-11 08:20:17

对象闭包底层

2010-08-26 10:41:45

C#内部类

2010-05-28 13:14:06

MySQL基本语法

2009-09-10 10:47:05

C# form

2009-09-02 17:12:06

C#关机代码
点赞
收藏

51CTO技术栈公众号