教學思路C#之入門一 認識簡單的C#結構

來源:互聯網
上載者:User

            從今天開始我們要來學習微軟.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"的方法,方法在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#結構答案
 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#文法。

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.