原创 深度解析C#數組對象池ArrayPool<T>底層原理
提到池化技術,很多同學可能都不會感到陌生,因爲無論是在我們的項目中,還是在學習的過程的過程,都會接觸到池化技術。池化技術旨在提高資源的重複使用和系統性能,在.NET中包含以下幾種常用的池化技術。 (1)、連接池(Connect
原创 深度解析C#中LinkedList<T>的存儲結構
本文承接前面的3篇有關C#的數據結構分析的文章,對於C#有關數據結構分析還有一篇就要暫時結束了,這個系列主要從Array、List、Dictionary、LinkedList、 SortedSet等5中不同類型進行介紹和分析。廢話不多說
原创 深入解析C# List<T>的源碼
前面的文章中解釋了Array的初始化和元素插入,以及數組整體的存儲結構(《深度分析C#中Array的存儲結構》)。這裏我們再來詳細的瞭解另一種存儲結構List<T>, List <T>是 ArrayList 泛型版本,是一個泛型集合類,
原创 深度分析C#中Array的存儲結構
數組是C#中最基礎的存儲結構之一,很多的存儲結構其底層的實現中都是基於數組實現的,如:List、Queue、Stack、Dictionary、Heap等等,如果大家讀過這些類型的底層實現源碼,其實就可以發現,這些存儲結構都是在其內部維護
原创 CoreFX中Dictionary<TKey, TValue>的源碼解讀
無論是實際的項目中,還是在我們學習的過程中,都會重點的應用到Dictionary<TKey, TValue>這個存儲類型。每次對Dictionary<TKey, TValue>的添加都包含一個值和與其關聯的鍵, 使用鍵檢索值的速度非常快
原创 解析.NET對象的跨應用程序域訪問(下篇)
轉眼就到了元宵節,匆匆忙忙的腳步是我們在爲生活奮鬥的寫照,新的一年,我們應該努力讓自己有不一樣的生活和追求。生命不息,奮鬥不止。在上篇博文中主要介紹了.NET的AppDomain的相關信息,在本篇博文中將會主要說明.NET程序集、對
原创 HuffmanTree的淺析和在C#中的算法實現
無論是在我們的開發項目中,還是在我們的日常生活中,都會較多的涉及到文件壓縮。談到文件壓縮,可能會有人想問文件壓縮到底是怎麼實現的,實現的原理是什麼,對於開發人員來說,怎麼實現這樣一個壓縮的功能。 接下來,我們就來了解一下文件
原创 C#創建安全的字典(Dictionary)存儲結構
在上面介紹過棧(Stack)的存儲結構,接下來介紹另一種存儲結構字典(Dictionary)。 字典(Dictionary)裏面的每一個元素都是一個鍵值對(由二個元素組成:鍵和值) 鍵必須是唯一的,而值不需要唯一的,鍵和值都可以是任
原创 DotNet的JSON序列化與反序列化
JSON(JavaScript Object Notation)JavaScript對象表示法,它是一種基於文本,獨立於語言的輕量級數據交換格式。在現在的通信中,較多的採用JSON數據格式,JSON有兩種表示結構,對象和數組,JSON
原创 C#中的委託解析
談及到C#的基本特性,“委託”是不得不去了解和深入分析的一個特性。對於大多數剛入門的程序員談到“委託”時,都會想到“將方法作爲方法的參數進行傳遞”,很多時候都只是知道簡單的定義,主要是因爲“委託”在理解上有較其他特性比較難的地方。在本次
原创 DotNet程序配置文件
在實際的項目開發中,對於項目的相關信息的配置較多,在.NET項目中,我們較多的將程序的相關配置直接存儲的.config文件中,例如web.config和app.config。 .NET中配置文件分爲兩部分:配置的實際內容(位於app
原创 C#創建安全的棧(Stack)存儲結構
在C#中,用於存儲的結構較多,如:DataTable,DataSet,List,Dictionary,Stack等結構,各種結構採用的存儲的方式存在差異,效率也必然各有優缺點。現在介紹一種後進先出的數據結構。 談到存儲結構,我們
原创 C#的網絡適配器操作
網絡的相關設置在項目開發中有較多的應用,有時候需要在項目中對網絡信息進行相關設置。主要包含IP設置,網關設置,DHCP設置,DNS設置等相關網絡的設置。 現在提供提供幾種相關的輔助方法類。 /// <summary
原创 DotNet程序集解析
在.NET Framework框架中,程序集是重用、安全性以及版本控制的最小單元。程序集的定義爲:程序集是一個或多個類型定義文件及資源文件的集合。程序集主要包含:PE/COFF,CLR頭,元數據,清單,CIL代碼,元數據。 PE/CO
原创 淺析.NET的反射特性
在.net框架體系內,反射特性較多的應用到。反射的相關定義分爲兩種。 自然解釋:射是一種自然現象,表現爲受刺激物對刺激物的逆反應;這是反射的字面解釋,我們看一下計算機編程中的反射; 編程解釋:通過 System.R