C#基礎拾漏(1)

來源:互聯網
上載者:User

標籤:使用   art   for   io   cti   代碼   

二維數組:
    int[,] arr=new int[2,3];
    arr.GetLength(int i)//擷取第i維的長度
    arr.Rank//擷取維度
    arr.Length//擷取總元素個數
交錯數組:
    本質上是一維數組,一維數組的每個元素都是一個數組
    int[][] arr = new int[2][];
    arr.Rank 返回1
可變參數:
    params只能修飾一維數組,比如int[] arr
    調用方法時,可以傳一個數組arr,也可以傳一個int列表,1,2,3這樣
    調用的時候會列表封裝成一個數組進行傳遞
    必須放在最後
ref/out:
    參數傳遞的是地址,調用時要帶上ref/out參數,只能修飾變數
對象建立時的記憶體配置:
    new 運算子:
        1.在記憶體中開劈一塊合適大小的空間
        2.在這個空間裡建立對象
        3.調用這個對象的建構函式
        4.返回這個對象的引用地址
    Person p1 = new Person();
    1.在棧中開闢一塊空間,用來存放對象的引用地址
    2.在堆中開闢一塊空間,再在這個空間中開闢一塊一塊小空間存放各個成員變數
    3.堆中的這塊空間中,還有一個變數儲存了一個地址,這個地址指向方法表中Person類的方法表(代碼區)
    4.賦值,把堆的首地址放在棧中去
    在方法調用時,要訪問成員變數,誰去調用這個方法,就使用誰的成員變數
類的存取修飾詞:
    只有public和internal,不帶修飾符時預設是internal
屬性:
    屬性的類型不一定和對應的欄位的類型一致,可能通過邏輯判斷之後賦給其它類型
ctrl+shift+空格:
    函數參數列表提示
建構函式相互調用:
    public Person():this("張三",18){}
    public Person(string name, int age){this.Name=name;this.Age.age;}
    調用時會先執行帶參數的建構函式,然後執行無參建構函式的賦值代碼。
隱式建構函式:
    沒定義建構函式時,有一個無參的隱式建構函式,定義了建構函式則沒有隱式建構函式
部分類:
    用partial修飾,在一個命名空間下同名稱的類,編譯的時候會編譯成一個類
    便於分開管理和維護,Form類,表單控制項管理在一個部分類中,而控制項各種行為在另一個部分類中。
常量:
    const修飾的變數,只能在(且必須在)聲明時賦值,編譯時間,聲明語句沒有了,直接用常量值替代常量出現的地方。
    在編譯時間就要確定值。
唯讀變數:
    只能在建構函式中改變,聲明的也可以賦值,編譯時間會把指派陳述式編譯到建構函式中去。
    在編譯時間才需要確定值。
枚舉:
    把一個不存在與枚舉值的整型數強轉成枚舉值不會報錯,輸出時直接輸出數字。
    枚舉值預設是int型的,可以通過enum Direction:byte{}來為枚舉值指定其他整數類型

相關文章

聯繫我們

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