C#基礎之操作最佳化執行個體教程

來源:互聯網
上載者:User
對資料的查詢,刪除等基本操作是任何程式設計語言都會涉及到的基礎,因此,研究了一下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();        }

你也可以自己測試下...

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.