前言
本文屬于C#零基礎(chǔ)入門之百識百例系列知識點(diǎn)整理目錄。此系列文章旨在為學(xué)習(xí)C#語言的童鞋提供一套系統(tǒng)的學(xué)習(xí)路徑。此系列文章都會通過【知識點(diǎn)】【練習(xí)題】的形式呈現(xiàn)。有任何問題,你都可以通過評論,私信等方式找到我,我會一對一解答你的問題。
系列文章目錄: 《C#零基礎(chǔ)入門之百識百例》 ? 學(xué)習(xí)專欄地址 ? 專欄目錄文章
一,變量與常量
1.1 命名
- 命名規(guī)則
- 組成規(guī)則
- 駝峰命名
- 見名知意
1.2 使用
- 定義聲明
- 作用域
- oreadonly,const關(guān)鍵字
二,數(shù)據(jù)類型
2.1 值類型
2.2 引用類型
2.3 類型轉(zhuǎn)換
- 強(qiáng)制轉(zhuǎn)換
- Convert類
2.4 拓展:字符串類型
三,運(yùn)算符
3.1 算數(shù)運(yùn)算符
3.2 賦值運(yùn)算符
3.3 關(guān)系運(yùn)算符
- 或與非 | & !
- 雙與&&,雙或 ||
- 異或^
- 三目運(yùn)算符
–
四,語句類型
4.1 順序語句
4.2 分支語句
- if else
- switch case
- break,continue,goto
4.3 循環(huán)語句
- for
- white 和 do…white
- foreach
五,數(shù)組
5.1 一維數(shù)組
5.2 數(shù)組的使用
5.3 二維數(shù)組
- 聲明
- 初始化
- 訪問
- 下標(biāo)取值
- 遍歷數(shù)組
- 應(yīng)用
- 表示地圖
六,函數(shù)
6.1 方法的聲明
6.2 方法的調(diào)用
6.3 方法的參數(shù)
- 什么是參數(shù)?
- 參數(shù)的寫法
- 參數(shù)默認(rèn)值
- 特殊參數(shù)標(biāo)識
- ref
- out
- param
- 位置參數(shù),命名參數(shù)
6.4 方法返回值
6.5 方法的重載
- 定義:使用同一個方法名,參數(shù)類型或個數(shù)不一樣的函數(shù)
- 注意事項(xiàng)
6.6 方法的遞歸
- 定義:遞歸的本質(zhì)就是自己調(diào)用自己。
- 要素
- 遞歸條件
- 遞歸出口
七,類和對象
7.1 訪問修飾符
- 修飾對象
變量,屬性,方法,類 - 修飾作用
限制修飾內(nèi)容的訪問權(quán)限 - 修飾符
- public
公有的,不受限制可任意訪問 - private
私有的,只限于本類中訪問 - protected
保護(hù)的,只限于本類和子類中訪問 - internal
內(nèi)部的,只限于程序集內(nèi)訪問 - protected internal
內(nèi)部保護(hù)的,只限于程序集內(nèi)或者子類訪問
7.2 類和對象
- 定義:擁有一定特性和功能額一個類別
- 語法
class 類名{ // 實(shí)現(xiàn) } - 成員
成員變量 成員方法 - new 關(guān)鍵字
實(shí)例化 T t1 = new T(); 訪問對象成員 - this關(guān)鍵字
表示當(dāng)前對象 - static關(guān)鍵字
用途 修飾變量,方法,類 - 聲明
寫法示例 靜態(tài)類的訪問 - 類名.屬性名
和非靜態(tài)之間區(qū)別 類的特殊函數(shù) - 構(gòu)造函數(shù)
定義概念 語法規(guī)則 調(diào)用方式 - 其他構(gòu)造
- 靜態(tài)構(gòu)造
- 創(chuàng)建靜態(tài)構(gòu)造
- 語法規(guī)則
- 私有化構(gòu)造
- 析構(gòu)函數(shù)
定義概念 調(diào)用方式 語法特性
八,面向?qū)ο?/h2>
8.1 封裝
- 原則:在程序中,盡量不要出現(xiàn)重復(fù)的代碼
- 封裝
- 類中只存儲當(dāng)前類有關(guān)內(nèi)容
- 每一個功能模塊都是一個方法
8.2 繼承
- 概念理解
- 實(shí)現(xiàn)語法
- 繼承后對父類的訪問
- 單繼承
- 子類構(gòu)造
- 執(zhí)行邏輯:優(yōu)先執(zhí)行父類構(gòu)造,在執(zhí)行子類構(gòu)造
- 構(gòu)造函數(shù)無論有參無參,無論有多少個子類都必須至少有一個和父類保持一致
- base關(guān)鍵字
8.3 多態(tài)
- 向上轉(zhuǎn)型(隱式轉(zhuǎn)型)
- 向下轉(zhuǎn)型(強(qiáng)制轉(zhuǎn)換)
- 將一個父類類型的對象稱作子類類型
- 強(qiáng)制轉(zhuǎn)換語法
- as關(guān)鍵字
- is關(guān)鍵字
- override關(guān)鍵字
- 重寫方法只能修改方法體
- base.方法名()調(diào)用父類方法
面試問的多態(tài) - 不同對象同一類型,這個類型的對象都可以做某一件事
- 因此不同的對象在做這件事的時候,做的方式也是不同的,當(dāng)然結(jié)果也是不同的
九,接口,結(jié)構(gòu)體和枚舉
9.1 接口
- 定義,關(guān)鍵字
- 接口實(shí)現(xiàn)
- 接口的實(shí)現(xiàn)實(shí)際上和類之間的繼承是一樣的,也是重寫了接口中的方法,讓其有了具體的實(shí)現(xiàn)內(nèi)容。
- 接口中的多態(tài)實(shí)現(xiàn)
- 定義接口并使用類實(shí)現(xiàn)了接口中的成員。
- 創(chuàng)建接口的實(shí)例指向不同的實(shí)現(xiàn)類對象。
9.2 結(jié)構(gòu)體
- 定義,關(guān)鍵字
- 結(jié)構(gòu)體和類
- 相同點(diǎn)
- 都可以有變量,屬性,方法
- 都可以有靜態(tài)變量,方法
- 都是使用new關(guān)鍵字實(shí)例化
- 不同點(diǎn)
- 類是引用類型,結(jié)構(gòu)體是值類型
- 構(gòu)造函數(shù)的使用上的不同
- 與類相比結(jié)構(gòu)體無繼承關(guān)系
- 結(jié)構(gòu)體重不能定義虛方法
- 用途
9.3 枚舉
- 概念定義
- 使用示例
- 類型轉(zhuǎn)換
- osealed關(guān)鍵字
- 表示密封,可修飾類,方法
- sealed修飾的類無法被繼承
- sealed只能修飾重寫(override)方法
- 運(yùn)算符重載
- 可重載的運(yùn)算符
- 算數(shù):+,-,x,/,%,++,–
- 關(guān)系:必須成對重載【> <】,【>= <=】,【==,!=】
- 邏輯:& | !^
- 作用
使不能進(jìn)行運(yùn)算的對象,運(yùn)算符重載后,也能通過運(yùn)算符運(yùn)算 - 關(guān)鍵字
operator - 訪問修飾
必須是public static - 定義語法
public static 返回值類型 operator 運(yùn)算符(參數(shù)){//?法體} - 返回值
- 一元:返回值必須是參數(shù)類型或者參數(shù)子類型
- 二元:返回值可自定義
- 用途
對象與對象之間運(yùn)算的快捷方式
十,委托和事件
10.1 委托
- 委托定義
[訪問修飾符] delegate 返回值 委托名稱 (參數(shù)列表); - 關(guān)鍵字
delegate - 委托使用
使用示例 - 多波委托
概念說明 使用示例 - 系統(tǒng)帶的委托
- Action
沒有返回值的委托 可傳遞無限個參數(shù) - Func
帶有返回值的委托 最后一個參數(shù)代表返回值 最多傳遞16個參數(shù)和返回值 - 匿名函數(shù)
語法概念 - Lambda表達(dá)式
10.2 事件
- 定義
- 事件就是一個特殊的委托對象
- 命名空間
- 概念定義
- using 關(guān)鍵字
- 命名空間內(nèi)可以包含類,接口,結(jié)構(gòu)體,枚舉,命名空間
- 訪問命名空間內(nèi)容
十一,泛型和系統(tǒng)類
11.1 泛型
- 泛型
- 類/接口
- 聲明泛型類 類名<泛型標(biāo)識符>
- 使用泛型類 T p = new T();
- 方法
- 聲明泛型方法 方法名<泛型>
- 用泛型作為方法返回值類型
- 用泛型作為方法參數(shù)類型
- 泛型特點(diǎn)
- 泛型類型不能繼承
- 但泛型類和泛型接口可以繼承/實(shí)現(xiàn)
- 在繼承泛型類或泛型接口的時候必須將泛型設(shè)置為實(shí)際類型進(jìn)行使用
11.2 系統(tǒng)類 - 數(shù)據(jù)結(jié)構(gòu)
- Array 數(shù)組
必須制定類型,指定長度,內(nèi)存地址連續(xù) - Array List 動態(tài)數(shù)組
存儲空間隨著元素個數(shù)變換,地址不連續(xù) 內(nèi)部定義好的增刪改查的基礎(chǔ)函數(shù) - List 列表
一個引用類型的容器,只能存一種類型數(shù)據(jù) 存儲空間隨著元素?cái)?shù)量進(jìn)行變換 - Stack 棧
先進(jìn)后出 - 槍膛上子彈 - Queue 隊(duì)列
先進(jìn)先出 - 超市排隊(duì) - Dictionary 字典
通過key值去找value 內(nèi)部定義好的增刪改查
十二,進(jìn)階部分
12.1 異常
- 語法概念
- 一個try可以有多個catch
- 若多個catch中沒有繼承關(guān)系,順序隨意
- 若多個catch有繼承關(guān)系,則子類在前,父類在后
- 自定義異常
12.2 反射
- 概念定義
反射指程序可以訪問、檢測和修改它本身狀態(tài)或行為的一種能力。 - 優(yōu)缺點(diǎn)
- 優(yōu)點(diǎn)
- 反射提高了程序的靈活性和擴(kuò)展性
- 降低耦合性,提高自適應(yīng)能力
- 它允許程序創(chuàng)建和控制任何類隊(duì)形,無需提前硬編碼目標(biāo)類
- 缺點(diǎn)
- 性能問題:使用反射基本上是一種解釋操作,用于字段和方法接入是要遠(yuǎn)慢于直接代碼
- 使用反射會模糊程序內(nèi)部邏輯;反射代碼比相應(yīng)的直接代碼更復(fù)雜
- 發(fā)射用途
- 它允許在運(yùn)行時查看特性
- 它允許審查集合中的各種類型,以及實(shí)例化這些類型
- 它允許延遲綁定方法和屬性
- 它允許在運(yùn)行時創(chuàng)建新類型,然后使用其執(zhí)行一個邏輯
- 查看元數(shù)據(jù)
12.3 特性
- 定義概念
- 特性(Attribute)是用于在運(yùn)行時傳遞程序中各種元素(比如類、方法、結(jié)構(gòu)、枚舉、組件等)的行為信息的聲明性標(biāo)簽。
- 規(guī)定特性
- [attribute(positional_parameters, name_parameter = value, …)]element
- 特性(Attribute)的名稱和值是在方括號內(nèi)規(guī)定的,放置在它所應(yīng)用的元素之前。positional_parameters 規(guī)定必需的信息,name_parameter 規(guī)定可選的信息。
- 預(yù)定義特性
- AttributeUsage
- Conditional
- Obsolete
- 創(chuàng)建自定義特性
- 聲明
- 構(gòu)建
- 在目標(biāo)元素上應(yīng)用
- 通過反射訪問
12.4 多線程
- 線程定義
- 線程 被定義為程序的執(zhí)行路徑。每個線程都定義了一個獨(dú)特的控制流。
- 線程生命周期
- 未啟動狀態(tài)
- 線程實(shí)例被創(chuàng)建,但Start方法未被調(diào)用
- 就緒狀態(tài)
- 當(dāng)線程轉(zhuǎn)變好運(yùn)行并等待CPU周期時的狀態(tài)
- 不可運(yùn)行狀態(tài)
- 已經(jīng)調(diào)用Sleep方法
- 已經(jīng)調(diào)用Wait方法
- 通過 I/O 操作阻塞
- 死亡狀態(tài)
- 當(dāng)線程已完成執(zhí)行或終止執(zhí)行的狀態(tài)
- 主線程
- 進(jìn)程中第一個被執(zhí)行的線程稱為主線程。
- Thread 類常用的屬性和方法
- 創(chuàng)建線程
線程是通過擴(kuò)展 Thread 類創(chuàng)建的。 - 管理線程
Thread 類提供了各種管理線程的方法。 - 銷毀線程
Abort() 方法用于銷毀線程。
~完整導(dǎo)圖~
完整PDF下載地址,沒有積分的童鞋可以點(diǎn)擊???? 下方卡片,回復(fù)”C#學(xué)習(xí)“ 獲取資料,還有免費(fèi)教學(xué)視頻等你哦~????
|