C#語言入門詳解

前六章的筆記,前六章是對技術(shù)的基本講解,并沒有深入詳解
第一章 基本常識
一、學(xué)習(xí)路徑

C#應(yīng)用較為廣泛,性能較差。C++較底層較難,JAVA主要用來編寫Web與移動設(shè)備。
框架是已經(jīng)按一定邏輯所組建的類庫,類庫可以直接用來引用從而避免重復(fù)的編程。
Web是一種遠程計算的技術(shù)。
集成開發(fā)環(huán)境。Visual Studio 所見即所得

第二章
1.捷徑
生產(chǎn)力=知識+練習(xí)+反思
msdn的代碼實例讀代碼仿寫
學(xué)習(xí)原則:先寫(感官)后看(原理)、在別人的基礎(chǔ)上實現(xiàn)更高功能(先學(xué)著使用別人的功能在實現(xiàn)自己的邏輯)、學(xué)以致用(緊扣工作)
2.hello world
1.
解決方案(Solution)-大問題
項目(Project)-大問題劃分出具體小問 題
2.

星號為熱門技術(shù)
3.各類應(yīng)用程序
見程序
第三章class與namespace
一、class,namespace
1.class(程序主體)
- C#完全面向?qū)ο螅{色。程序在這里也是各類。
- 數(shù)據(jù)結(jié)構(gòu),整合字段與方法。
構(gòu)建:類實例(對象object):instance
支持:(派生類derived class 專用化基類base class)
繼承:inheritance 多態(tài):polymorphism
2.namespace
將class進行分類,樹形結(jié)構(gòu),
在別的引用空間中要使用using才能調(diào)用對應(yīng)方法。
文檔找尋類與命名空間的從屬關(guān)系。
先用類后通過ctrl+.或者alt+entre自動添加命名空間。
不同的命名空間有的類同名沖突,
eg.
System.IO.Path
與
System.Window.Shape.Path
二、類庫(class library)的引用
保存名稱空間。類庫引用是保證其實用的物理基礎(chǔ)。
- reference可以看一個項目的所有引用,可以查看所有命名空間。

- DLL引用(黑盒引用,無源代碼)
通過Assembly(程序集、裝配件)進行添加引用。
通過瀏覽添加引用。
NuGet添加引用,解決復(fù)雜的底層引用,相當于類庫包,將一系列所依賴度的類庫全部添加。添加Nuget
- 項目引用(白盒引用,有源代碼)
先要確定該解決方案包含著該類庫。然后通過項目引用。
原因:一個項目可以被多個解決方案。(Project的重用)
三、依賴關(guān)系(耦合關(guān)系)
因引用與調(diào)用而起。
1.高內(nèi)聚:相關(guān)功能放一個類
低耦合:類與類之間的依賴
2.UML(通用建模語言)類圖
賴子-》被依賴
四、排除錯誤
排錯一定要找到root cause,切忌補丁上面打補丁。
第四章 類,對象,類成員
一、class
抽象現(xiàn)實事物的模型。
去偽(不需要的功能)存真(需要的功能)
表(interface接口)里(封裝邏輯)
二、類與對象
1.對象(實例 instance)類實例化后內(nèi)存中實體
2.new
3.引用變量與實例的關(guān)系
實例可以沒有引用變量,一般會立刻被系統(tǒng)清除
多個引用變量可以對應(yīng)同一個實例。其方式有一根“繩子”與不同“繩子”
三、類的成員
1、屬性properties
存儲數(shù)據(jù),表示狀態(tài)
2、方法Methods
操作屬性的算法
3、事件 (切忌濫用)Events
類用于出發(fā)其他對象或類的機制
4.MSDN(help view)
注意看remarks,其對類的功能有重要描述。
================================================
注意字段與屬性
private string m_name; //字段 field
public string Name //屬性,它含有代碼塊
{get { return m_name; //讀取(返回m_name值)}
set { m_name = value; //為m_name賦值}}
關(guān)于后續(xù)的代碼實例,目前的.net6.0 EntityFrameworkCore、ADO.NET entitydata已經(jīng)無法使用類似操作進行控制數(shù)據(jù)庫了
需要使用.net framework 與EntityFramework
================================================
四、靜態(tài)成員與實例成員
1.靜態(tài)成員static
類的成員,針對的是類、反應(yīng)類的特性
2.實例成員(非靜態(tài))
對象的成員、針對的是成員、是具體的反應(yīng)成員的特性
3.綁定(Binding)
關(guān)聯(lián)成員類或者對象
早綁定(編譯器知道)
晚綁定(動態(tài)語言、編譯器不知道)
第五章 C#語言基本元素概覽、類型變量方法、算法
1.基本元素
- 關(guān)鍵字Keyword:

上下文關(guān)鍵字Contextual Keywords

- 操作符Operator:表明運算
參考C# reference
- 標識符Identifier:
字符下劃線開頭、@+keyword才能夠作為標識符
規(guī)范:要含有意義、變量名用駝峰法、方法名用Pascal法
- 標點符號:不參與運算
- 文本(字面值):int x =2;中2就是字面值(整數(shù)、實數(shù)、布爾、null、字符、字符串等都可以)
=============================================
以上為標記(Token)
2.類型變量與方法
類型(type):
變量:存儲數(shù)據(jù)
方法(函數(shù)算法):處理數(shù)據(jù)
3.算法簡介
循環(huán)
遞歸