首頁 >後端開發 >C#.Net教程 >C#基礎之操作優化實例教程

C#基礎之操作優化實例教程

零下一度
零下一度原創
2017-06-24 09:56:211627瀏覽

對資料的查詢,刪除等基本操作是任何程式語言都會涉及到的基礎,因此,研究了一下C#中比較常用的資料操作類型,並順手做個筆記.

List時,若是處理比較大的資料則使用HashSet類,因為List是基於線性表操作的.但其內嵌了二分查找(​​BinarySearch),因此,也可以在存儲完之後進行排序,隨後用二分查找.不過也可以這樣設計:Dictionary>利用Dictionary高效的搜尋查詢能力來搜尋List物件.但是資料卻是使用List儲存.

HashSet是一個不包含重複類型的集合類別.此集合基於雜湊值,其操作都是很快的.相比較HashTable,此集合類別只包含一個類型參數,不是基於鍵值對來儲存尋找元素的.若是需要確定元素是否存在,只需要呼叫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#基礎之操作優化實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn