您的位置:首页 > 编程语言 > C#

教学思路C#之入门一 认识简单的C#结构

2009-05-04 21:16 309 查看
从今天开始我们要来学习微软.NET平台下的一门推广及发展迅速的语言C#,“#”的发音为英文sharp"啥普",意思是锐利的,微软的想法是:希望把这门语言发展成为最锐利的语言,有关微软.Net及框架的介绍,我会放到后面的课程来教授,原因是根据多次教学经验发现,在大家刚接触这门语言时,如果把它讲得过于理论化,比较难接受,也不好理解,所以本节课的课程安排会是从认识一个简单的C#程序入手。
在开始本节课的正式学习前,我需要同学们学会用VS创建一个控制台的应用程序,下面的代码是创建后,编译器自动生成的代码,我们就从这里开始打开C#之门:


1using System;


2//使用using关键字引入命名空间。如:using System;引入System命名空间


3using System.Collections.Generic;


4using System.Linq;


5using System.Text;


6


7/**//*多行注释法,为了美观多半会写成如下效果*/


8


9/**//***********************


10 * 这个篇幅的代码内容: *


11 * 认识简单的程序结构和 *


12 * 三种注释方式 *


13 ***********************/


14//使用namespace关键字定义一个名为“控制台练习”的命名空间


15namespace 控制台练习


16{


17 //使用class关键字定义一个名为“Program”的类


18 class Program


19 {


20 //程序的入口点Main方法


21 static void Main(string[] args)


22 {


23 }


24 }


25}
请同学们看一下"//"后的文字,这些文字是我标注代码功能解释语句,注释后的语句,在代码中是不会被执行的,除了我们可以讲代码的意义或功能注释起来,增加程序代码的可读性外,我们还可以把暂时不用的,但是又不想删掉的代码先注释掉,因为注释掉了所以这段代码不会被执行,将来如果要用到,只要放开注释就可以了,避免了我们再做重写这段代码的无用功。
注释的方式一共有3种,对于采用哪种方式,主要是看你想用注释实习哪种效果,这3种注释分别是:
1.单行注释法"//": 就是我上面的代码第2行所采用的注释方式,一般只是对一行代码做出解释时会采用。
2.多行注释法,使用"/*"开始注释,使用"*/"结束注释,一般用在对整段整篇幅代码进行解释时会采用,如第7行。
3.XML注释法,在要注释的代码前输入三个"/",将编译器将会自动出现如下的带有"<>""</>":


1 /**//// <summary>


2 /// XML的方法注释法:


3 /// 一般采用对方法和类的注释


4 /// </summary>


5 static void MethodName()


6 {


7


8 }
上面的代码是定义了一个名字叫做"MethodName"的方法,[b]方法在C#语言中是将要实现某种功能的代码写在"{}"里,[/b]如果你所写的程序要实现这个功能,就找到这种功能的代码写在哪个方法里,接着找到这个方法的名字,在程序的入口点(Main方法)中调用这个方法,从而找到这个方法内写得的功能代码,然后执行。现在给同学们简单的描述了方法的作用和使用,如果大家不理解,不用着急,随着书写代码量的增多和学习,很快我们就会理解我现在所说的白话方法理论。
第3种用法同学们不需要现在掌握,只要熟练使用单行注释就可以了,而且我们要养成用注释的习惯增加代码的可读性,这样更可以利人利己呀!
下面我们来学习一下一个简单的C#程序的基本结构
第一份代码中我标注了一个简单的C#程序的结果,分别是:
using 引入命名空间; //第一到第五行
定义一个命名空间 //第15行
{
定义一个类 //第18行
{
定义Main方法() //第21行
{
功能代码语句(根据你实现的功能,决定功能代码语句的行数);
/*每句代码表达一个具体功能意思的语句,
*语句之间也可以组合到一起共同完成一个或多个功能,
*每句代码使用";"代表结束,相当于告诉编译器遇到";"时,
*就视为完成一条功能语句的定义结束*/
}
}
}
在c#这门语言中,我们使用"{"开始作用范围,使用"}"结束作用范围,如第一段代码第15行定义了一个名为“控制台练习”的命名空间,16行"{"至25行"}"中的代码,我们认为是Program这个命名空间中作用的代码,也可以说第18行定义的一个“Program”类是“控制台练习”这个命名空间下的一种成员,21行定义的名字为“Main”的方法是“Program”类的一种类成员,也就是说,方法是应该定义在类里,类应该定义在命名空间里,我不会在第一节课就教授大家命名空间的具体作用,我们现在能学会谁被谁包含(包裹)谁就可以了。
下面我出一道有关定义C#语法结构的题目,大家可以根据我之后给出的答案和注释对照你的代码。
1.在“控制台练习”的命名空间下,定义另一个类名为“LeiName”的类。
2.在“LeiName”类中,定义一个名字为“Jianfa”(减法)的方法。
3.在“Program”类中,定义一个名字为"Jiafa"(加法)的方法。
4采用XML的注释方式,解释"jiafa"的定义。
写代码前,请注意C#是区分大小写的语言,同时我们写代码所采用的编译器是有智能提示功能,而且语言中的关键字是用蓝色小写显示。


1 using System;


2 using System.Collections.Generic;


3 using System.Linq;


4 using System.Text;


5 namespace 控制台练习


6 {


7 //使用class关键字定义一个名为“Program”的类


8 class Program


9 {


10 //程序的入口点Main方法


11 static void Main(string[] args)


12 {


13 //如果想让加法功能运行,就应该在程序的入口点Main方法中被调用,注意要使用";"来表示调用的结束,调用的方式是方法的名字和方法后的"()",这里同学们要记住如果是一个方法调用时一定要加上(),同时要灌输给大家一个这样的思想,即如果是想完成一个(或一系列的)动作,就应该定义一个方法,在调用时如果是一个动作一定记得要在方法的名字后加上"()"。


14 Jiafa();


15 }


16 /// <summary>


17 /// 定义了一个名字为Jiafa的方法:第3、4题


18 /// </summary>


19 static void Jiafa()


20 {


21 //实现加法的代码


22 }


23 }


24 //在“控制台练习”的命名空间中,定义一个Leiname类:第1题


25 class Leiname


26 {


27 //定义了一个名字为Jianfa的方法:第2题


28 static void Jianfa()


29 {


30 //实现减法的代码


31 }


32 }


33 }
根据上面的代码,你应该注意到:
第一题:Leiname类应该和Program类是平级的关系,应该在23行Program类结束}的后面,或是写在第7行命名空间"控制台练习"{开始后、第8行定义Program类开始前,表明类与类的平级关系,同时类一定要在33行命名空间结束的}里进行定义。
第二题:定义一个名字叫"jianfa"的方法,按照第二段代码的定义方式,只是把jianfa替换了MethodName这个名字,同时应该在Leiname类的{}内部
第三题:在Program类中定义一个方法时要与Main方法同样保持平级关系,因为他们都是Program类的类成员,只是程序是从Main方法开始执行,因为Main方法中调用了jiafa();所以程序执行后,jiafa方法内部的代码第21行是会执行的,但是jianfa却不会被执行,原因很简单,是因为Main方法没有调用他,所以jianfa内的代码第30行不会被执行。有关Main方法的具体介绍,我会放到下一章节进行介绍。
第四题:在第17行我加入了这个方法的注释,请大家试一下如下的效果:当你把鼠标放置到Main方法中调用Jiafa方法的第14行代码,编译器会自动出现“定义了一个名字为Jiafa的方法:第3、4题”这一句提示。
现在大家能明白第三种注释的独到的好处了吗?答案就是可以在调用采用XML注释过的这个方法时,出现你所定义这个方法的注释语句,如这个方法的作用、用法的注意要点等提示语句。试想一下,当我们成为一个编写大型程序的项目小组其中的一员,项目中需要实现的功能会非常多,这样就需要定义大量的方法来实现这些功能,如登录时判断密码必须是数字,这样小小的方法定义的多了,程序开发周期延长时,很多方法的特殊使用就会忘记,在调用时会出现不必要的麻烦,影响整体进度,或许你的团队中有个同事,在写这个项目中用户注册新用户的时候,同样需要密码也必须是数字这样的功能时,就可以直接调用你所写的方法,而不需要他自己重新书写,提高了工作的效率,如果你所写的方法如果采用了XML的注释方式,对于他也是一个友好的提示作用,这就是我先前所说的利人利己的原因!
这节课说到现在对于什么是C#,程序的运行方式等实质性的问题一定是不明白的,今后的课程,我们会慢慢的教授给大家,但是在开始下一节的学习是,请大家一定要熟练地写出有关C#结构的简单定义代码,因为在我多次教学的过程中发现,学生们写了很多代码,但是应该把方法定义在哪里都搞不清楚,所以在我很早就已经调整了教学的顺序,将定义简单结构的课程作为开始篇章来学习,给学生灌输大局观的思想,体会流程的模式。
下节课我们将要学习Main方法及使用控制台应用程序来学习C#语法。本文出自 “叶子文文” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐