C#學習筆記

來源:互聯網
上載者:User
C#學習筆記(一):資料類型 
C#資料類型分為兩大類:數實值型別和參考型別;
    一、數實值型別包括:整型、字元型、布爾型、浮點類型、小數類型、結構、枚舉
        1、整數類型:byte、sbyte、short、ushort、int、uint、long、ulong,常用的是int;
        2、浮點類型:float、double;
        3、小數類型:dicemal;
        4、字元類型:char;
        5、布爾類型:bool;
    二、參考型別包括:字串、數組、物件類型、類、介面、代理
        1、物件類型:object;
        2、字串類型:string;
    三、賦初值
    四、類型轉換:隱式轉換、顯式轉換;打包轉換、拆包轉換
        1、隱式轉換:低級資料類型向進階資料類型轉換,結果為進階資料類型;
        2、顯式轉換:造型(CAST)
        3、打包轉換和拆包轉換:堆(Heap)和棧(Stack)的區別;
    五、簡單數值類
        1、兩個域:MaxValue和MinValue;

C#學習筆記(二):運算子和運算式 
1、算術運算子
    1)++、--在變數左右的區別
    2)負號運算子:例如-3+-3等同於-3-3
2、邏輯運算子
3、關係運算子
4、其他運算子
    1)is運算子:x is int
    2)?:運算子:
    3)as運算子:
            object x = 5.4F;
            object y;
            y = x as float;
    4)typeof運算子:
5、checked和unchecked 

C#學習筆記(三):選擇和迴圈結構 
1、if語句
    1)if(...) 
    2)if(...) else
    3)if(...)
          else if(...)
          else if(...)
          else
    注意嵌套的判斷語句,從最內層開始,else總是和他最上面並且沒有配對的if語句配對
2、switch語句
    switch(...)
    {
       case ... :
       case ...:
       ...
       default:
    }
3、while語句
    while(...)
     {
        ....
      }
4、do-while語句
      do
        {
         ...
         }
      while(...)
5、for語句
     for(...;...;...)
       {
        ...
        }
6、foreach-in語句
     foreach( ... in ....)
       {
        .....
        }

C#學習筆記(四):數組 
1、一維數組
    1) int[] intArray = new int[10];
    2) int[] intArray;
        intArray = new int[10];
    3) int[] intArray = new int[10]{1,2,3,4,5,6,7,8,9,0};
    注意:不允許初始化部分元素,必須全部初始化
2、多維陣列
    1) int[,] intArray = new int[3,2];
    2) int[,] intArray;
        intArray = new int[3,2];
    3) int[,] intArray = new int[3,2]{{0,1},{1,2},{2,3}}
3、嵌套數組
        int[][] intArray = new int[2][];
        intArray[0] = new int[2];
        intArray[1] = new int[3];
4、System.Array類
    1、屬性
        Length
        Rank
    2、方法
        Sort         Reverse
        IndexOf   LastIndexOf

C#學習筆記(五):物件導向和類 
物件導向
    1、資料封裝
    2、代碼重用
    3、多態性
    4、重載
命名空間
    using [alias=]namespace;
聲明自己的類
    1、封裝資料
        private int count;
        ... ...
    2、構造和析構
        構造:public 類名(...) {...},可存在多個
        ~類名:析構,一般不需要
    3、方法
使用自己的類

    靜態域:public static int field1;
    唯讀域:public readonly int field1;
屬性
    修飾符 類型 標識符 {代碼}
    private string name;
    public string Name
        {
            get{rerurn name;}
            set{name = value;}
        }
索引
    修飾符 類型 this[索引值]
    private int[] Array = new int[5];
    public int this[int index]
        {
            get   
                {
                    rerurn Array[index];
                }
            set
                {
                    Array[index] = value;
                }
        }
重載
    關鍵是參數不一樣
    params:後面不能再有其他參數,因此一般是最後一個參數
    ref、out:實參前也必須加ref、out關鍵字,ref於out的區別在於out關鍵字不需要實參必須提前初始化
運算子多載
    文法:public static 傳回型別 operator 運算子(參數){代碼}
    資料轉換也可重載
    文法:public static implicit operator 轉換後的類型(被轉換的數值)
                public static explicit operator 轉換後的類型(被轉換的數值) 

C#學習筆記(六):繼承 
繼承的初步
    1、派生:
            被繼承的類叫基類、父類,繼承而來的類叫衍生類別、子類
            class 子類名稱 : 父類名稱
                {
                .....
                }
            子類可以重載父類的方法,注意行參的不同
            在子類中構造新對象時,不僅要調用子類的構造器,還要調用父類的構造器,並且,這些被調用的構造器必須具有相應的參數列表
    2、base關鍵字
            子類可以利用父類的各種成員,但是子類只能利用父類中被聲明為public和protected的成員
            base關鍵字是為了在子類中替代父類的名稱
    3、禁止繼承
            封閉類的概念:sealed
            sealed關鍵字不僅可以用來聲明類,還可以用來聲明“封閉”的方法和屬性
    4、保護訪問
            protected關鍵字:只在類的繼承樹鏈上可見
    5、內部訪問
            internal關鍵字:在一個assembly內部可見
    6、成員存取層級
            private:私人成員只能在聲明成員的類中使用
            protected internal:成員只能在同一個類及其子類中被使用,並且所有在類必須在一個assembly中
            internal:在一個assembly中訪問
            protected:只能在類繼承樹鏈上被訪問
            public:不受限制
多態性和虛成員
    1、在父類中利用virtual關鍵字來聲明虛成員,虛成員可以是類的方法、屬性和索引,不可以是域或者私人成員變數
    2、在子類中用override關鍵字來重新聲明虛成員
抽象類別
    1、abstract關鍵字
    2、抽象方法不可以為其執行個體化任何代碼,在方法聲明時,不可以在方法後使用{};
    3、抽象屬性需要指出屬性的get或者set部分,但是不能執行個體化任何代碼;
造型
        只允許用父類造型子類 

C#學習筆記(七):介面和代理 
介面
    1、介面的聲明
        1)文法:[修飾符] interface 介面名稱[:父介面名稱]{代碼};
        2)要點:
                a、聲明介面成員的時候,不可以為介面成員指明任何存取修飾詞;
                b、不可以為成員執行個體化任何代碼
    2、介面的使用
        1)使用一個介面只有通過類的繼承來實現
        2)子類不僅可以從父類繼承,還可以從介面繼承
        3)當一個類從介面繼承之後,必須在子類中執行個體化父介面中的所有成員
    3、介面與抽象類別的比較
        1)在介面中,不能聲明域或者私人變數
        2)聲明介面成員時,不能使用任何存取修飾詞
        3)介面一旦被繼承,則在子類中必須執行個體化所有成員,而抽象類別則可以根據需要重載部分成員
        4)介面允許多重繼承
        5)介面相對抽象類別具有更高的抽象層次
    4、System命名空間的常用介面
        1)ICloneable:Clone方法
        2)IComparable:CompareTo方法
        3)IConvertable:
        4)IFormatable:Format方法
代理
    1、代理的聲明
        [修飾符]delegate 傳回型別 代理名稱(參數列表);
    2、代理的使用
        使用new運算子建立一個代理對象,同時為代理對象指明引用的方法名稱
    3、System.Delegate類
        Method和Target屬性
    4、事件
        修飾符 event 類型 標識符
        修飾符 event 類型 標識符{get{};set{};}
        聲明和使用一個事件需要如下步驟:
        1)建立一個代理或者使用系統代理程式:EventHandler
        2)在類的內部利用event關鍵字聲明事件,並在類中定義呼叫事件的方法
        3)聲明多個方法與事件關聯 

C#學習筆記(八):結構和枚舉 
結構
    1、結構的聲明
        [修飾符]struct 結構名稱[:介面名稱]{代碼};
        在結構中不允許存在沒有參數的構造體
    2、結構的使用
        1)Point p1 = new Point(1,1);
        2)Point p1;
    3、結構和類的區別
        1)結構不允許繼承
        2)結構中不允許聲明一個沒有參數的構造體
        3)在結構中不允許為一個執行個體化的域賦初值
        4)利用結構類型來聲明對象的時候可以不使用new運算子
        5)結構是一種數實值型別,而類是一種參考型別
枚舉
    1、枚舉的聲明
        [修飾符]enum 名稱[:各類整數類型]{列表};
        例子:public enum test:ulong {Main=1,Max=2};
    2、枚舉的使用
        從枚舉類型的數值向整數類型數值轉換需要使用顯式類型轉換
    3、System.Enum類
        1)Format方法
        2)FromString方法
        3)GetName方法和GetNames方法
        4)GetUnderlying方法
        5)GetValus方法
        6)IsDefined方法
        7)ToObject方法 

聯繫我們

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