C#程序设计入门经典之C#的基本语法

2016-02-19 15:22 11 1 收藏

今天图老师小编给大家精心推荐个C#程序设计入门经典之C#的基本语法教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

【 tulaoshi.com - 编程语言 】

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

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

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

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

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

  

{code line 1, statement 1;code line 2, statement 2code line 3, statement 2;}

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

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

  

{code line 1;{code line 2;code line 3;}code line 4;}

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

  注释:

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

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

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

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

  

/* This is a comment *//* And so...... is this! */

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

  

/* Comments often end with "*/" characters */

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

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

  

// This is a different sort of comment.

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

  

// So is this,but this bit isn't.

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

  

A statement; // Explanation of statement

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

  

/// A special comment

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

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

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

  

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

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

  

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

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

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

  C#控制台应用程序的基本结构

  下面看看第2章的控制台应用程序示例(ConsoleApplication1),研究一下它的结构。其代码如下所示:

  

using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{class Program{static void Main(string[] args){// Output text to the screen.Console.WriteLine("The first app in Beginning C# Programming!");Console.ReadKey();}}}

  可以立即看出,上一节讨论的所有语法元素这里都有。其中有分号、花括号、注释和适当的缩进。

  目前看来,代码中最重要的部分如下所示:

  

static void Main(string[] args){// Output text to the screen.Console.WriteLine("The first app in Beginning C# Programming!");Console.ReadKey();}

  在运行控制台应用程序时,就运行这段代码,更准确地说,是运行花括号中的代码块。如前所述,注释行不做任何事情,包含它们只为了简洁而已。其他两行代码在控制台窗口中输出了一些文本,并等待一个响应。但目前我们还不需要关心它的具体机制。

  这里要注意一下如何实现上一章介绍的代码突出显示功能,虽然这对于Windows应用程序来说比较重要,但它是一个非常有用的特性。要实现该功能,需要使用#region和#endregion关键字,来定义可以扩展和收缩的代码区域的开头和结尾。例如,可以修改为ConsoleApplication1生成的代码,如下所示:

  

#region Using directivesusing System;using System.Collections.Generic;using System.Text;#endregion

  这样就可以把这些代码行收缩为一行,以后要查看其细节时,可以再次扩展它。这里包含的using语句和其下的namespace语句在本章的后面解释。

  注释:

  以#开头的任意关键字实际上都是一个预处理指令,严格地说并不是C#关键字。除了这里描述的#region和#endregion关键字之外,其他关键字都相当复杂,用法也比较专业。所以,这是一个读者通读全书后才能探究的主题。

  现在不必考虑示例中的其他代码,因为本书前几章仅解释C#的基本语法,至于应用程序进行Console.WriteLine()调用的具体方式,则不在我们的考虑之内。以后会阐述这些代码的重要性。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1609495.html

延伸阅读
C# 用户经常提出两个问题:我为什么要另外编写代码来使用内置于 Windows 中的功能?在框架中为什么没有相应的内容可以为我完成这一任务?当框架小组构建他们的 .NET 部分时,他们评估了为使 .NET 程序员可以使用 Win32 而需要完成的工作,结果发现 Win32 API 集非常庞大。他们没有足够的资源为所有 Win32 API 编写托管接口、加以测试并编写...
我们创建的第一个类是Shape。这是一个抽象类,因为我们不想创建这个类的实例,我们要创建的是它的派生类的实例。我们从所有的形状(圆、长方形、正方形)提取出共同特征到Shape类。Shape类有一个实例变量color,它的变量声明中带有protected修饰符。protected修饰符表示这个变量只能在类的内部或者该类的派生类中访问。紧接这个变量声明的就是Sh...
许多软件都有自动关机功能,特别是在长时间下载的时候,这个功能可是使你不用以守候在计算机前面,而电脑却能按照您事先的设定自动关闭。现在我们用visual C#来编写一个多功能的关机程序。该程序具有:定时关机、倒计时关机、关机提醒、系统信息获取等四项功能, 可设定关机时间精确到秒。并且让你很快掌握Visual C#中对API的操作程序。 一. ...
下面这个例子示范如何创建和使用用户定义的类以及如何创建动态链接库。利用文本编辑器创建两个文件。第一个是Apple.cs,内容如下: public class Apple { private string variety = ""; public Apple(string appleVariety) { this.variety = appleVariety; } public void outputVariety() { System.Console.WriteLine(variety); } } ...
在这最后一个例子中,我们来看看C#的抽象和多态性。首先我们来定义一下这两个新的术语。抽象(Abstract)通过从多个对象提取出公共部分并把它们并入单独的抽象类中实现。在本例中我们将创建一个抽象类Shape(形状)。每一个形状都拥有返回其颜色的方法,不论是正方形还是圆形、长方形,返回颜色的方法总是相同的,因此这个方法可以提取出来放入...

经验教程

472

收藏

33
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部