日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DotNet进阶系列

發布時間:2023/12/10 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DotNet进阶系列 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. 回顧歷史

?  回顧個人發展歷程,自2012年初次接觸開發至今(2018年)已經有六個年頭,這期間陸陸續續學習并掌握了不少技術,C#語言、ORM框架、多線程技術、設計模式、前端技術、MVC、MVVM框架思想等等,每種技術隨著多次使用,隨著不斷的反思,逐漸經歷 “了解→理解→掌握→精通 ”這么一個過程,從最初的只能實現功能到如今的“每一步都考慮性能優化問題”,在近兩年內,開始寫博客,最初只是一時興起,想讓百度上能搜索出我的文章,但現在已經形成一個習慣,在沒有特殊事情耽擱的情況下,堅持一周兩篇博客,到目前為止,有效文章數已經達到140多篇,當然后面還會陸續寫下去。

  作為理科生出身的我,沒有華麗的辭藻 ,沒有煽情篇章,話不多說,回顧完個人開發歷程,下面看一下C#和.Net的發展歷程,再次補充一點,.Net不是一門開發語言,而C#才是基于.Net運行環境下的一種高級開發語言。

  

  從上面的表格可以看出來,C#這么語言至今已經接近20年歷史了,從2002年誕生的那一刻起,不斷更新,不斷改進,功能越來越強大,越來越方便程序們的開發,當然.NET類庫、CLR、以及開發神器Visual Studio也在不端更新。(VS 2017 宇宙第一開發神器 這個應該毫無爭議吧

  之前曾說過,C#僅僅是.Net下的一門開發語言而已,.Net生態遠遠不止如此。

  

  我們以前提到.Net,指的都是.Net FrameWork,經常被java程序員嘲笑,.Net不能跨平臺,但現在不會來,他們可以閉嘴了,.Net Core就是為跨平臺而生,下面簡單總結一下.Net生態。

  (1) 語言有:C# 、F#、VB

  (2) C/S程序開發技術有:WinForm、WPF

  (3) B/S程序開發技術有:ASP.Net WebForm 、ASP.Net MVC、Core MVC

  (4) 通訊技術有:WebAPI、WCF、SignalR

  (5) 日志框架有:Log4Net

  (6) 數據庫訪問技術有:ADO.NET 、EF

  這里不再繼續列舉了,也沒有必要再列舉了,因為對于新時代合格的工程師而言,沒有人限制你只能掌握一種技術,任何一個大型的信息系統,都是有多種技術組合而來,在現在一個大一統的時代,連.Net的生身父母“微軟”都開源了,難道小小的你還能故步自封嗎?

二. 掃盲C#運行原理

?  C#作為一門高級語言,機器是不認識的,那么它是怎么編譯成讓機器碼讓機器識別呢,一張圖勝似千言萬語,請看下圖。

  概念補充:

    CTS:C#、F#、VB都必須遵守的通用類型

    CLS:通用語言規范(CLS是CTS的一個子集)

    BCL:基礎類庫

  總結:C#是一種面向對象的高級編程語言,符合CLR中的CLS(通用語言規范)

  .Net Framework包含三部分:

    1 CLR(windows), .net core的clr支持(windows、linux、macos)

    2 開發工具包

    3 BCL(基礎類庫)

?

三. 基礎進階系列及章節詳細介紹

?  最近一直在考慮初學者學習.Net應該從哪學起,上面說的天花亂墜,有什么用呢? 如果連.Net最基礎的知識都掌握不了,還談什么開發呢?

  這里結合我自己的理解,整理出一條較為合適的路線,并對之前的博客重新排版重新改寫,形成這個【DotNet進階篇】系列,一方面方便自己日后復習,另一方面也為.Net社區盡一點綿薄之力。

  

?  第一節:從面向對象思想(oo)開發、接口、抽象類以及二者比較 

?  第二節:重寫(new)、覆寫(overwrite)、和重載(overload)

?  第三節:深度剖析各類數據結構(Array、List、Queue、Stack)及線程安全問題和yeild關鍵字

?  第四節:IO、序列化和反序列化、加密解密技術

?  第五節:泛型(泛型類、接口、方法、委托、泛型約束、泛型緩存、逆變和協變)

?  第六節:反射(幾種寫法、好處和弊端、利用反射實現IOC)

?  第七節:語法總結(1)(自動屬性、out參數、對象初始化器、var和dynamic等)

?  第八節:語法總結(2)(匿名類、匿名方法、擴展方法)

?  第九節:委托和事件(1)(委托的發展歷史、插件式編程、多播委托)

?  第十節:委托和事件(2)(泛型委托、Func和Action、事件及與委托的比較)

?  第十一節:特性(常見的特性標簽、自定義特性、特性的使用案例)

?  第十二節:Lambda、linq、SQL的相愛相殺(1)

?  第十三節:Lambda、linq、SQL的相愛相殺(2)

?  第十四節:Lambda、linq、SQL的相愛相殺(3)

?  第十五節:Expression表達式目錄樹(與委托的區別、自行拼接、總結幾類實例間的拷貝)

?  第十六節:語法總結(3)(C#6.0和C#7.0新語法)

?  第十七節:易混淆的概念(靜態和非靜態、拆箱和裝箱、值傳遞和引用傳遞、深拷貝和淺拷貝)(持續更新)

?  第十八節:跨域請求的處理方案

?  第十九節:CLR核心機制(未完成)

?  第二十節:正則表達式(未完成)

?  第二十一節:ADO.NET的使用(未完成)

?  第二十二節:XXXXXXXXXXXXXXXXXXXXXXXX

?  第二十三節:XXXXXXXXXXXXXXXXXXXXXXXX

總結

以上是生活随笔為你收集整理的DotNet进阶系列的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。