C#基础知识点梳理一
? 嗯~,這是我的第一篇博客,作為一個程序小白來到這里學習知識,轉眼注冊博客園已經快一年了,嗯,整理一些小知識,既是自己的知識梳理,也是和大家分享和共勉,感謝…
?
先介紹一些最基本的名詞解釋吧
CLR(Common Lanauage Runtime) 公共語言運行庫
BCL(Base Class Libary) 基類庫
GC(Garbage Collector) 垃圾收集器
CIL(Common Intermediate Language) 公共中間語言
CLI(Common Language Infrastructure) 公共語言基礎結構
?
emm..接下來是格式規范啦,我覺得有良好的代碼習慣很重要,格式和注釋
Pascal 大小寫 一般用在類,方法,命名空間,屬性和公共字段上
Camel大小寫 一般用在局部變量名稱和方法形參名稱上
下劃線加Camel大小寫 一般用在私有成員和受保護字段上
標識符:字母和下劃線都可以但是數字不能放在首位,@只能放在首位但是不推薦使用,特別注意,標識符是區分大小寫的!
var實際上是編譯期拋給我們的“語法糖”,一旦被編譯,編譯期會自動匹配var 變量的實際類型,并用實際類型來替換該變量的申明
dynamic被編譯后,實際是一個object類型,只不過編譯器會對dynamic類型進行特殊處理,讓它在編譯期間不進行任何的類型檢查,而是將類型檢查放到了運行期。
?
小知識
每個C#程序必須有一個類且帶有Main()方法;語句塊是指用{? ? ?}包圍的一條或多條語句,它在語法上相當于一條語句
Write 不換行顯示 WriteLine換行顯示? ? ({0}? {1}? ? {2}, 1 , 5 ,7}從零開始? 一一對應輸出? ? ?{0:C}格式化字符串
值類型:存儲在棧里(包括13種預定義簡單類型,結構和枚舉)
引用類型:棧里存儲引用,指向堆里的數據(object,string,dynamic,||? class,interface,delegete,array)三種非簡單類型
大方法
16種預定義類型,6種用戶定義類型
類類型 class 結構類型 struct 數組類型 array 枚舉類型 enum 委托類型 delegate 接口類型 interface
?
分點精講? ?——類
?
類成員的類型:
數據成員存儲數據:字段和常量
函數成員執行代碼:方法,運算符,屬性,索引器,構造函數,事件,析構函數
常量:Const 本地常量 聲明時賦值 不能聲明為static 不可改變? ?readonly常量? 隨時賦值? 運行時確定常量的值
方法:有名稱的可執行代碼塊? void SumNum()? 返回類型 方法名? 參數列表? ?Sum sum = new Sum()? ?聲明并初始化一個方法
形參:本地變量,聲明在方法的參數列表中?void SumNum(int x,int y)?
實參:初始化形參的表達式稱為形參 SunNum(5,3)
將引用類型作為值參數傳遞:賦一個新值給形參,將切斷形參與實參的關聯,并且在方法調用結束后,新對象也不復存在(分離改變)
將引用類型對象作為引用參數傳遞:賦一個新值給形參,在方法調用結束后,該對象仍然存在,并且是實參所引用的值(一起改變)
引用參數:ref修飾符? (實參必須是變量 在用作實參前必須被賦值)就像是形參作為實參的別名 方法和調用上都要用修飾符
輸出參數:out修飾符 (實參必須是變量,在讀取之前必須被賦值 必須在方法內進行賦值)
?
參數數組:一個參數列表只能有一個,且必須是最后一個,用params修飾符? void ListInts(params int[] inVals)? 修飾符 int型參數數組 參數名稱
兩個為參數數組提供實參? ListInts(10,20,30)? ? ?方法二? ? int[] intArray = {1,2,3}; ListInts(intArry);
一個類中可以有一個以上的方法擁有相同的名稱,這叫做方法重載,但是必須有不同的簽名( 方法名稱,參數數目,數據類型和順序,參數修飾符)
命名參數:只要顯式的指定參數的名字,就可以以任意順序在方法調用中列出實參? int result = mc.Calc(c:2,a:4,b:3);
可選參數:方法定義時確認值,調用時可以選擇不覆蓋? ?public int Calc(int a,int b = 3)
遞歸:調用自身 public void Count(int intVal){? if(inVal == 0) return; else Count(InVal -1)? ? Console.WriteLine("{0}“,inVal );}
靜態函數成員:不能訪問實例成員,能訪問其他靜態成員(字段,類型,方法,屬性,構造函數,運算符,事件)
?
訪問修飾符:
public 公有的 沒有限制,任何地方可以訪問。
private 私有的 當前類的內部可以訪問
internal 內部的 當前程序集內部。
protected 受保護的 當前程序集內部,并且所有的子類內部也可以訪問。
protected internal 受保護的內部的 當前類內部,所有子類內部,當前程序集內部都可以訪問。
?
屬性:有類型,可以被賦值和讀取,可以有靜態屬性,函數成員,不分配內存,屬于命名類的成員,set{? ?}? ?get{? ?}(必須包含一條return語句)? 為屬性賦值 從屬性獲取值
兩種命名約定:屬性使用Pascal大小寫 字段使用Camel大小寫 方法二:屬性使用Pascal大小寫 字段使用下劃線開始的Camel大小寫
?
轉載于:https://www.cnblogs.com/simple123/p/9278675.html
總結
以上是生活随笔為你收集整理的C#基础知识点梳理一的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决java web前后台乱码
- 下一篇: 天才大猩猩可可去世,享年 46 岁