且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-10-01 13:15:11

 从今天开始我们要来学习微软.NET平台下的一门推广及发展迅速的语言C#,“#”的发音为英文sharp"啥普",意思是锐利的,微软的想法是:希望把这门语言发展成为最锐利的语言,有关微软.Net及框架的介绍,我会放到后面的课程来教授,原因是根据多次教学经验发现,在大家刚接触这门语言时,如果把它讲得过于理论化,比较难接受,也不好理解,所以本节课的课程安排会是从认识一个简单的C#程序入手。
           在开始本节课的正式学习前,我需要同学们学会用VS创建一个控制台的应用程序,下面的代码是创建后,编译器自动生成的代码,我们就从这里开始打开C#之门:
教学思路C#之入门一 认识简单的C#结构 1using System; 
教学思路C#之入门一 认识简单的C#结构 2//使用using关键字引入命名空间。如:using System;引入System命名空间 
教学思路C#之入门一 认识简单的C#结构 3using System.Collections.Generic; 
教学思路C#之入门一 认识简单的C#结构 4using System.Linq; 
教学思路C#之入门一 认识简单的C#结构 5using System.Text; 
教学思路C#之入门一 认识简单的C#结构 6 
教学思路C#之入门一 认识简单的C#结构 7/**//*多行注释法,为了美观多半会写成如下效果*/ 
教学思路C#之入门一 认识简单的C#结构 8 
教学思路C#之入门一 认识简单的C#结构 9/**//*********************** 
教学思路C#之入门一 认识简单的C#结构10 * 这个篇幅的代码内容: * 
教学思路C#之入门一 认识简单的C#结构11 * 认识简单的程序结构和 * 
教学思路C#之入门一 认识简单的C#结构12 * 三种注释方式                 * 
教学思路C#之入门一 认识简单的C#结构13 ***********************/
 
教学思路C#之入门一 认识简单的C#结构14//使用namespace关键字定义一个名为“控制台练习”的命名空间 
教学思路C#之入门一 认识简单的C#结构15namespace 控制台练习 
教学思路C#之入门一 认识简单的C#结构16{ 
教学思路C#之入门一 认识简单的C#结构17        //使用class关键字定义一个名为“Program”的类 
教学思路C#之入门一 认识简单的C#结构18        class Program 
教学思路C#之入门一 认识简单的C#结构19        {        
教学思路C#之入门一 认识简单的C#结构20                //程序的入口点Main方法 
教学思路C#之入门一 认识简单的C#结构21                static void Main(string[] args) 
教学思路C#之入门一 认识简单的C#结构22                {         
教学思路C#之入门一 认识简单的C#结构23                } 
教学思路C#之入门一 认识简单的C#结构24        } 
教学思路C#之入门一 认识简单的C#结构25}
        请同学们看一下"//"后的文字,这些文字是我标注代码功能解释语句,注释后的语句,在代码中是不会被执行的,除了我们可以讲代码的意义或功能注释起来,增加程序代码的可读性外,我们还可以把暂时不用的,但是又不想删掉的代码先注释掉,因为注释掉了所以这段代码不会被执行,将来如果要用到,只要放开注释就可以了,避免了我们再做重写这段代码的无用功。
        注释的方式一共有3种,对于采用哪种方式,主要是看你想用注释实习哪种效果,这3种注释分别是:
  1.单行注释法"//": 就是我上面的代码第2行所采用的注释方式,一般只是对一行代码做出解释时会采用。
  2.多行注释法,使用"/*"开始注释,使用"*/"结束注释,一般用在对整段整篇幅代码进行解释时会采用,如第7行。
  3.XML注释法,在要注释的代码前输入三个"/",将编译器将会自动出现如下的带有"<>""</>":
教学思路C#之入门一 认识简单的C#结构1                /**//// <summary> 
教学思路C#之入门一 认识简单的C#结构2                /// XML的方法注释法: 
教学思路C#之入门一 认识简单的C#结构3                /// 一般采用对方法和类的注释 
教学思路C#之入门一 认识简单的C#结构4                /// </summary> 
教学思路C#之入门一 认识简单的C#结构5                static void MethodName() 
教学思路C#之入门一 认识简单的C#结构6                { 
教学思路C#之入门一 认识简单的C#结构7                 
教学思路C#之入门一 认识简单的C#结构8                }
       上面的代码是定义了一个名字叫做"MethodName"的方法,方法在C#语言中是将要实现某种功能的代码写在"{}"里如果你所写的程序要实现这个功能,就找到这种功能的代码写在哪个方法里,接着找到这个方法的名字,在程序的入口点(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#是区分大小写的语言,同时我们写代码所采用的编译器是有智能提示功能,而且语言中的关键字是用蓝色小写显示。
教学思路C#之入门一 认识简单的C#结构 1 using System; 
教学思路C#之入门一 认识简单的C#结构 2 using System.Collections.Generic; 
教学思路C#之入门一 认识简单的C#结构 3 using System.Linq; 
教学思路C#之入门一 认识简单的C#结构 4 using System.Text; 
教学思路C#之入门一 认识简单的C#结构 5 namespace 控制台练习 
教学思路C#之入门一 认识简单的C#结构 6 { 
教学思路C#之入门一 认识简单的C#结构 7         //使用class关键字定义一个名为“Program”的类 
教学思路C#之入门一 认识简单的C#结构 8         class Program 
教学思路C#之入门一 认识简单的C#结构 9         {        
教学思路C#之入门一 认识简单的C#结构10                 //程序的入口点Main方法 
教学思路C#之入门一 认识简单的C#结构11                 static void Main(string[] args) 
教学思路C#之入门一 认识简单的C#结构12                 {        
教学思路C#之入门一 认识简单的C#结构13                         //如果想让加法功能运行,就应该在程序的入口点Main方法中被调用,注意要使用";"来表示调用的结束,调用的方式是方法的名字和方法后的"()",这里同学们要记住如果是一个方法调用时一定要加上(),同时要灌输给大家一个这样的思想,即如果是想完成一个(或一系列的)动作,就应该定义一个方法,在调用时如果是一个动作一定记得要在方法的名字后加上"()"。 
教学思路C#之入门一 认识简单的C#结构14                         Jiafa(); 
教学思路C#之入门一 认识简单的C#结构15                 } 
教学思路C#之入门一 认识简单的C#结构16                 /// <summary> 
教学思路C#之入门一 认识简单的C#结构17                 /// 定义了一个名字为Jiafa的方法:第3、4题 
教学思路C#之入门一 认识简单的C#结构18                 /// </summary> 
教学思路C#之入门一 认识简单的C#结构19                 static void Jiafa() 
教学思路C#之入门一 认识简单的C#结构20                 { 
教学思路C#之入门一 认识简单的C#结构21                    //实现加法的代码 
教学思路C#之入门一 认识简单的C#结构22                 } 
教学思路C#之入门一 认识简单的C#结构23         } 
教学思路C#之入门一 认识简单的C#结构24         //在“控制台练习”的命名空间中,定义一个Leiname类:第1题 
教学思路C#之入门一 认识简单的C#结构25         class Leiname 
教学思路C#之入门一 认识简单的C#结构26         { 
教学思路C#之入门一 认识简单的C#结构27                 //定义了一个名字为Jianfa的方法:第2题 
教学思路C#之入门一 认识简单的C#结构28                 static void Jianfa() 
教学思路C#之入门一 认识简单的C#结构29                 { 
教学思路C#之入门一 认识简单的C#结构30                         //实现减法的代码 
教学思路C#之入门一 认识简单的C#结构31                 } 
教学思路C#之入门一 认识简单的C#结构32         } 
教学思路C#之入门一 认识简单的C#结构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#语法。
本文转自叶子文文博客51CTO博客,原文链接http://blog.51cto.com/leafwf/185714如需转载请自行联系原作者

叶子文文