關於c#的一些筆記

來源:互聯網
上載者:User

標籤:

 序:

 在vs中,可以產生三種項目:

 第一種:控制台項目:用於練習C#文法

 第二種:傳統型程式項目:比如我們經常看到的傳統型程式(CS)。

 第三種:web項目:用於開發網站

 1.我們先來說一下 .net和C#的關係:

 

 

   它們之間什麼關係呢?就好比對球跟我們一樣,C# 要運行在.net平台。

   .net(.net framework)開發平台,它分為兩塊,一塊是公用語言運行,和.net架構類庫(微軟提供給我們的開發工具,它就是命名空間,程式集,命名空間相當於盒子,裡面放各種方法,屬性,對象跟類)

  C#呢?是一種物件導向的,運行在.net平台的程式設計語言。 

  物件導向:一種編程的思維方式,所有的對象,屬性,方法被建立出來,然後調用。

  eg:  一個叫做A的老鼠跑了

          一個叫做B的貓叫了

          一個叫做C的人醒了

   這中間呢, 老鼠,貓,人就是對象,而A,B,C名字這是它的屬性,跑了,叫了,醒了這是動作,叫方法(方法後面都有小括弧),把對象和對象具有的屬性和方法,建立出來,然後調用,就叫物件導向。

   所以是:有了類->才有對象->才有對象的屬性和方法(像一個人,首先他是一個對象,我們要瞭解他,我們就要知道他叫什麼跟喜歡幹些什麼)

   我們都知道所有的前端語言都不需要編譯,瀏覽器能自動識別。而C#的運行最終由cpu進行處理,cpu處理器能識別C#這種進階程式設計語言嗎?

當然不能,那它們是怎麼進行工作的呢?

   圖中可以看到,C#在vs(開發工具)中經過c#編譯器變成可以在.net平台裡面被識別的微軟中繼語言,在經過.net通用語言執行平台及時編譯器就變成了本地cpu可以識別的語言。

 

   2.練習C#要建立一個控制台項目,怎麼建立控制台項目呢?檔案-建立-項目-windows-控制應用程式

    

    我們可以看到最上面是一個檔案類型是.sln結尾的檔案。這是一個解決方案,下面一個是當前項目的名稱(也就是命名空間)。最下面有個.cs結尾的檔案就是類。

    一個解決方案下面可以有很多重專案,一個項目下又有很多類。有了類,才能有對象。

  

   3.我們如何定義一個類呢?

   c#中,我們如何定義一個類呢?我們用關鍵字class+類的名稱(通常我們用一個英文名字首大寫-增強代碼可讀性)

   我們右鍵-建立項目-建立一個類,叫person類吧!

   class Person

  {

  }

  類有了,有了類,我們就可以把它變成對象,Person p=new person();  我們把這個叫做構造方法:由一個類變成對象的方法

  class Person

   {

      Person p=new person();  //類名  對象名,隨便命名一個    =new執行個體化 person方法(),方法後有小括弧   ,這叫執行個體化對象

      //對象有了我們就定義一些欄位和方法

       string name="xiaoxiao";   //字串類型我們用string

       int age=10;

       //屬性有了,我們再來定義一個方法,會打招呼,會哭

     SayHi()

       {

        }

     Cry()

       {

        }

   }

   類有了,屬性方法都有了,我們可以看到中有個項目類program.cs的類,我們把它開啟:

  

    開啟,我們就會看到以上這些東西,最上面那塊是using什麼什麼,這是引入命名空間,這些命名空間哪來的,就是上面.net平台裡面的.net架構類庫,微軟公司為我們封裝提供好的工具。

    下面這個namespace 名字,是我們當前項目的命名空間。再下面的Program就是一個類,定義好的,再下面的是程式入口,Main()定義了一個程式入口的方法

 

   4. 我們可以在class Person中列印一句話(調用write方法)

     class Person

       {  

           string name="zhangsan";

           int age=10;

           void SayHi()         //void 無傳回型別

           {

              Console.WriteLine("你好啊!");

            //接下來我們會看到提示,class system.console的東西,說明1.console是一個類;2.說明console是在System這個命名空間下面

           }

            int  GetNum()  //得到一個數組,如果是string,則返回一個String類型,如果是int就返回一個整數類型,無傳回值就是void

          {

            int i=10;

            return i;   

          }

       }

      

      Console.Write()列印一句話,不會換行;  Console.WriteLine();列印一句話,換行

   接下來,我們可以調用了嗎?不可以,為什麼呢?

   因為這些是私人的成員,如果是私人的話,它預設的是Private(這個叫存取修飾詞/控制存取權限) Private  string name="";,它只能在該類裡面訪問,不能到其它類訪問

   如果要去訪問其它,我們要怎麼做呢?

   我們把它變成公有的就ok啦。

    public string name="zhangsan";

    public int age=10;

    piblic void SayHi()

    {

       Console.WriteLine("你們好啊,我是一個人類!");

    }

    Public  int GetNum(int i)

   {

      //int i=10;

      i+=10;

      return i;

   }

   變成公有了,那我們到其它類怎麼訪問呢?類方法裡調用它的欄位和方法?

  static void Main(string [] args)

  {

    //通過對象調用它的欄位和內容,執行個體化一個對象

    Person p=new person();

    Console.WriteLine(p.name);

    Console.WriteLine(p.age);

   p.SayHI();//這邊為什麼不用列印呢?因為前面已經列印了

   Console.WriteLine(p.GetNum(20));   //返回的是數值,所以要加這個

   Console.ReadKey();    //執行上面的代碼,發現一閃而過,為什嗎?我們加上這一段代碼就好了。

  }

 

關於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.