c#基本文法學習筆記

來源:互聯網
上載者:User

 

名詞解釋:
  1、CLR---------Common Language Runtime ------------公用語言運行環境,管理著代碼的執行。
  2、JIT---------Just In Time -----------------------即時編譯器。 作用:執行時將中繼語言編譯成本地代碼
  3、MSIL--------MicroSoft Intermediate Language-----微軟中繼語言。編譯時間編譯器將代碼轉化為中繼語言和中繼資料。
  4、名字空間----相當與java中的包(package)

1)起源:
   微軟internet平台戰略,2000-6-22發布.net架構

2)特點:
   1、完全支援xml,與web緊密串連
   2、對象自動回收
   3、跨語言 (來自於他的虛擬對象系統)

3).NET的結構
    1、虛擬對象系統 (VOS) :跨語言整合,程式員可以選擇自己喜歡的開發語言,只要他支援.net
    2、中繼資料---------------:對VOS中類型描敘代碼的一種稱呼,編譯時間自動產生,與原始碼共同包好在二進位代碼檔案中
    3、Common Language Specification(CLS)
    4、虛擬執行系統(VES):啟動並執行環境             
   
4)HelloWorld
   using System;
   class HelloWorld {
     static void Main () {
      Consol.Write("Hello World!");
      }
   }

  說明:原始碼尾碼為.cs
 
      
5)資料類型(實值型別 簡單類型,結構類型,枚舉類型):
   1、整型----------sbyte(帶s都是有符號的),byte(0到255),short,ushort,int,uint,long,ulong
   2、布爾型--------bool (true,false)
   3、實數----------float,double   C#中專門添加decimal類型,方便在金融和貨貝方面的運算
   4、字元----------char  其中有逸出字元:\',\''等。 
   5、結構類型------struct Student {
                      public string Name;
                      public float  score;

                     }
   6、枚舉類型------enum WeekDay {Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday};
 
6)資料類型(參考型別):----所謂參考型別是:該類型變數不直接儲存所包含的值,而是指向該值,也就是儲存該引用值的地址。  
   1、類:--------------object類是所有類的基類。
   2、String類----------sting s="hello";
   3、代表(delegate)----a)說明:C#取消了指標的概念,當然也可以用指標,但必須申明為unsafe不安全的。
                        b)定義:delegate int Mydelegate();   ----代表相當於函數指標原型。
                        c)使用:Mydelegate d=new Mydelegate(類.方法)
                                d(); //然後就相當於直接掉函數。
   4、數組--------------a)定義: int[]   arr=new int[5];   // int[] arr=new int[5] {1,2,3,4,5} //
                                int[]   iArr; ---一唯
                                int[,]  iArr;----二唯
                                int[,,] iArr;----三唯

7)裝箱和拆箱(boxing--unboxing):用於實值型別,參考型別,object物件類型之間的轉換。
   1、裝箱-------------將一個實值型別隱式的轉化為一個object類型
                       例子:int i=10;
                             object obj=i;         //隱式
                             object obj=object(i)  //顯式

   2、拆箱-------------將一個物件類型轉化為一個實值型別
                       例子:int i=10;
                             object obj=i;
                             int j=(int)obj;

8)運算式
   1、運算子-----  a:一元運算子 ++,-- // b、二元運算子 +,-,*,/,%(取餘)  // c、三元運算子 y=(x>10?1:0)
   2、關係符-----  == (等於)  != (不等於)
   3、as操作符---  將一個值轉化為指定的參考型別,如果不能轉換則返回null值。
   4、邏輯符號---  &&(並且)  || (或者) !(非)
  
9)流程式控制制
   1、if判斷結構--------if (條件) {} else {};
   2、swith開關結構-----swith (運算式) {
                         case 值1:do something;break;
                         case 值2:do something;break;
                         default:  .....
                         }

                    說明:其中可以不使用break;而使用goto case 值1轉向//或者goto default;
   3、For迴圈結構-------for (int i=0;i<=10;i++) {...}
      while迴圈  -------while (條件) {...};
      do ...while迴圈---do {...}  while (條件)

10)異常處理
    1、結構1-------- try {...} catch (Exception e) {...}        //e.message
    2、結構2-------- try {...} finally {...}
    3、結構3---------try {...} catch (Exception e) {...} finally {..}
    4、拋出一個異常:
            a.--- throw new Exception("錯誤資訊");
            b.----e=new Exception ("錯誤資訊");
                  throw;           
                 
11)類:
    1、類的修飾符
       a.public ------不限制訪問。
       b.protected----保護類,所在類和其子類可以訪問。
       c.internal-----所在類才能訪問
       d.private------該包中的應用程式和庫才能訪問
       e.abstract-----抽象類別,不允許建立執行個體
       f.sealed-------密封類,不允許被繼承。 //seal /si:l/密封。。海豹
    2、類的成員
        公用成員,私人成員,保護成員,內部成員。
    3、this保留字
        僅限於在建構函式,類的成員和類的執行個體中使用。
    4、成員常量
        public const int i=10;
    5、建構函式:
       a、建構函式通常與類名相同。
       b、建構函式不聲明傳回型別。
       c、建構函式總是public的,如果為private則表示該類不能被執行個體話。
          例子: class A
                  {
                  public A(int i) {...};   //建構函式
                  }
    6、解構函式
       a、解構函式的名字與類名相同,只是前面有一個波浪~符號。

11)方法:
    1、修飾符:new、public、protected、internal、private、static、virtual、sealed、override、abstract、extern
               說明:對於abstract、extern方法的執行體只有一個分號;也就是只有聲明沒有實現。
    2、參數
       a、值參數 -------不含任何修飾符號  :傳遞的是值的拷貝,任何修改不影響原來的參數
       b、引用參數------以 ref為修飾符    :傳遞的是值的地址,
       c、輸出參數------以out為修飾符     :輸出參數與ref參數的區別是:調用函數前不需要對該參數初始話
       d、數組參數------以params為修飾    :
           說明1:數組參數必須位於參數表的最後
           說明2:參數只允許是一唯數組
           說明3:數組參數不再有ref,out修飾符     
    3、方法的重載-------類中有同名的方法,但是參數必須不同。   
    4、操作符的重載-----

12)域和屬性
    1、域:就是成員變數。 修飾:public、protected、internal、private 。。。static靜態域.
       唯讀域:public static readonly double pi=3.1415926
    2、屬性:聲明---attributes  修飾符  類型 名稱
       屬性的讀:get  寫  set

13)事件和索引指標

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.