您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何實現C#的操作優化,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
List查詢時,若是處理比較大的數據則使用HashSet<T>類,因為List是基于線性表操作的.但其內嵌了二分查找(BinarySearch),因此,也可以在存儲完之后進行排序,隨后用二分查找.不過也可以這樣設計:Dictionary<TKey,List<T>>利用Dictionary高效的搜索查詢能力來搜索List<T>對象.但是數據卻是使用List<T>存儲.
HashSet<T>是一個不包含重復類型的集合類.此集合基于散列值,其操作都是很快的.相比較HashTable<TKey,TValue>,此集合類只包含一個類型參數,不是基于鍵值對來存儲尋找元素的.若是需要確定元素是否存在,只需要調用Contains()方法即可.
List 查找復雜度 O(n), HashSet 查找復雜度O (1)
Dictionary類的刪除添加操作:
默認情況不排序下,添加了元素的位置是在刪除元素的位置.
若是排序,添加了元素的位置依舊會是在未排序之前的元素位置.
static void Main(string[] args) { Dictionary<int, int> _dic = new Dictionary<int, int>(); _dic.Add(3, 3); _dic.Add(1, 1); _dic.Add(2, 2); _dic.Add(6, 6); Console.WriteLine("未經排序:");foreach (var k in _dic) { Console.WriteLine(k.Key + " " + k.Value); }var dic_sort = from dic in _dic orderby dic.Key select dic; Console.WriteLine("未經處理:");foreach (var k in dic_sort) { Console.WriteLine(k.Key + " " + k.Value); } Console.WriteLine("經過刪除添加處理:"); _dic.Remove(2); _dic.Add(4, 4);foreach (var k in _dic) { Console.WriteLine(k.Key + " " + k.Value); } Console.Read(); }
你也可以自己測試下...
上述就是小編為大家分享的如何實現C#的操作優化了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。