C# : .NET
Top 37 C# Example Pages...

[["(LY4A3BST~~}T~~PFG7666666F*BCC(IB3CXCCPF[CBXS}T~~}T~~","wehtshs.","SortedDictionary"," keeps its keys always sorted. It allows you to avoid sorting the keys on your own. Its lookup performance is slower than Dictionary. It has advantages if you require a sorted lookup table in memory.","480px","390px","Benchmark results:","\n\nDictionary lookup time: ","Close to O(1)","\nSortedDictionary lookup time: ","O(log n) ","Example."," Here we see the SortedDictionary collection from System.Collections.Generic being used. We add five keys in any order, being careful not to add duplicates. Then we test various keys for their existence. ","Generic Class ","generic","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","Based on:"," .NET 4.5\n\n","C# program that uses SortedDictionary","\n\nusing System;\nusing System.Collections.Generic;\n\nclass Program\n{\n static void Main()\n {","\n // 1\n // New SortedDictionary\n ","SortedDictionary","<string, int> sort =\n new SortedDictionary<string, int>();","\n\n // 2\n // Add strings and int keys\n ","sort.Add(\"zebra\", 5);\n sort.Add(\"cat\", 2);\n sort.Add(\"dog\", 9);\n sort.Add(\"mouse\", 4);\n sort.Add(\"programmer\", 100);","\n\n // 3\n // Example: see if it doesn't contain \"dog\"\n ","if (sort.ContainsKey(\"dog\"))\n {\n Console.WriteLine(true);\n }","\n\n // 4\n // Example: see if it contains \"zebra\"\n ","if (sort.ContainsKey(\"zebra\"))\n {\n Console.WriteLine(true);\n }","\n\n // 5\n // Example: see if it contains \"ape\"\n ","Console.WriteLine(sort.ContainsKey(\"ape\"));","\n\n // 6\n // Example: see if it contains \"programmer\",\n // and if so get the value for \"programmer\"\n ","int v;\n if (sort.TryGetValue(\"programmer\", out v))\n {\n Console.WriteLine(v);\n }","\n\n // 7\n // Example: print SortedDictionary in alphabetic order\n ","foreach (KeyValuePair<string, int> p in sort)\n {\n Console.WriteLine(\"{0} = {1}\",\n p.Key,\n p.Value);\n }\n }\n}\n\n","Output","\n\nTrue\nTrue\nFalse\n100\n\ncat = 2\ndog = 9\nmouse = 4\nprogrammer = 100\nzebra = 5","Steps."," In part 6 above, we use the TryGetValue method on the SortedDictionary, which is excellent for avoiding another key lookup. If the key exists, TryGetValue returns true and it fills the out parameter. ","TryGetValue ","trygetvalue","Then: ","In part 7 above, we use the foreach loop on the SortedDictionary variable.","And: ","This invokes the custom enumerator, which returns a sequence of KeyValuePairs. The keys are always sorted.","Research."," Here we review the difference between Dictionary and SortedDictionary. As always, checking the documentation on MSDN is important, even for experts. The difference is stated in terms of performance. ","The SortedDictionary(TKey, TValue) generic class is a binary search tree with O(log n) retrieval, where N is the number of elements in the dictionary.","Dictionary Class: MSDN ","http://msdn.microsoft.com/en-us/library/xfhwa508.aspx","In one of my programs,"," I needed to maintain a frequency table of various string keys. Instead of Dictionary, I decided to use SortedDictionary, so when I needed to print the SortedDictionary to a file, I wouldn't need to sort it again. ","Tip: ","By using SortedDictionary instead of custom Dictionary sorting code, you can reduce the footprint of your .NET program.","Performance."," To test the performance of the data structures, I devised a benchmark that looped through various element counts. I tested how long it took to add that many keys, and how long it took to find a key when there are that many keys. ","Note: ","The first row has 10 elements. And then each following row has 10 times more. The times are in milliseconds.","Result: ","Performance was awful and it degraded when there were more than 10000 elements to the point of failure.","Add element benchmark: SortedDictionary, Dictionary","\n\n5, 0\n0, 0\n1, 0\n22, 2\n310, 33\n3769, 521\n\n","ContainsKey benchmark: SortedDictionary, Dictionary","\n\n73, 5\n132, 6\n188, 8\n255, 9\n340, 9\n419, 10","SortedList."," There is also a SortedList collection in the System.Collections.Generic namespace. This provides essentially the same functionality as the SortedDictionary but with a different internal implementation. ","Note: ","The SortedList has different performance characteristics, particularly when inserting or removing elements from the collection.","SortedList ","sortedlist","Summary."," We researched the SortedDictionary collection from System.Collections.Generic at MSDN. We also saw a benchmark of SortedDictionary that shows that it can rapidly degrade performance as the number of elements grows. ","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","3679700504","data-ad-format","link","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto"],"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACCAgMAAADasxWRAAAADFBMVEX/2en///+VlZX29vY4hdadAAAASElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOSAALWyrsxEHLDAAAAAElFTkSuQmCC)","url(data:image/png;base64,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)","url(data:image/jpeg;base64,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)"]

["url(data:image/jpeg;base64,/9j/2wBDAAcHBwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQn/wQARCABSAJgDACIAAREAAhEA/8QAUwAAAQUBAQEAAAAAAAAAAAAAAAECAwUGBAcIEAACAgECAgUKBAUFAAAAAAAAAgEDEQQSBRMGISIxQjIzQVFSYWJxcpIUI7LSc4GCorORocHh4v/aAAwDAAABAAIAAD8A+kAAQUUjstSpZex0rWPEzYj/AHKW3pDpYdaqc2s04z5CeVj09r+wy/SHiv4m3lVN+VXuhZjxz4n/AGFJouu+v61/UXum4Us1cy7dmV3bO77i/wBNwhZq5t27Mru2d33HsQDWnrCCiKDA8BBRBAAAAAABAAUBAADl1utq0lTW2/0rHe8+qDzvW8b1upZtrvXX7CM0R/P2jd8T4emtqhJna6ddbejr8qJIZp0XDtI6stcLsaGllWXunb/cWektorWJ5TXXs23b7MfCWuiuopWJ5TXXs+3b7MfCZfo9xS+NUlL2O9dk7drM07Z8M/cehHnvRrTLbq2tloiKu1C7utpnqXC/CeghxWE5+EjHYXft9YcXhPxGEjE7F37fWKAgFYVQkmT6S62+pEorjalsZZ473+A1cnNqNLVqOXzU38t9y+puz3SdOmtSu1Xdd0L4f0nVpbUrtWx13Qva2+/wnkt2mtqhHtSViyNyTPijdjI7Refr+tf1Gp6XRHMoxGIirq+5jLaLz9f1r+o1VF03afmTGNyt2VNbRfN+m5sxjcrdlT112xIisMvkhRzJQuVMhC5U7sjjnVyaJGTBFMDgEyGRo3AomRstAxnHRA6IJJYZLELORS46EHwh07zIcS4PqdXfbbDoq96QzNlsL6Mbi312vTTV7265mcKvtFLqekaTW0Uo+9oxltvZz8ix0lWoWd9K9/Z3N3FloqdQs8yle/sbm7ig4VY9Wtq2TMTzFiflLYaD1Xcee8B0DWXxqXjCVzlc+J/D9pvUkdxZla2IjvVNrN7x/GGVrViOuVTaze8nAQCoKUUbgeJgMhkw3S7zlH8Nv8jGW0Xn6/rX9Rqel3naP4bf5GMhVZNbq8d6ysx/I1vD4zo64j0qxseHRnRVxHpVv1HsN6nBnrKjg/FtRr9Q8WzEKtbTCKuIzuX+oubFxJn2paluW+3MLu7PvM81L0NyrNuYVW7PvJEc6Fcr4kkVyNkI2TJ37ys4nxRNFVme1Y3m0/5+k6IcoOI8KnU3pbzJlZlYeJ8ER6iTT1VzZHNnCR2vq+Ek01NU2Rzpwkdpvi+Ey2r4lq9S0u7vt9Cx1IvyUuuj2vtl2odpZZhpWJ8Mx6jt4r+G0+japa0WX2rXG1c9TZ37vKKzo9p53vdMYWI2x85Llnrs0tk8pa4jsp+4uWeqzSWTFS1xDbU/ca+XmRmZCIHwkyU3VBTdUFXr+HRq4jLyjLGI9MHFpuj1STE2PNnwwuINNsJIQkjV2qmxbGiCWNbaqbFsaI+EhrrhIhVWFVeqIjuU6kgFQm2nGzZOF3yKAoERAOKfjept0+jayp5Rt6rujvxO4uDm1ekr1VcVW52b1acdW7HoJKWVbK2eMpDKzL7iShlWytnjKQysy9/UeSO1+pfLS9jt6Z3TLFzpOjWruxLryln02dU/Z5R6DptFp9NGKakr+KFy/wB89o6S1u4w2NtNa1x7Td/2lvdxp8baK1rjws3XP2lJw7g1WhmXV3ssZNsz3RifUp2WKdswRMpWzc7tLvO6Z8RWTe7vL2NumfEVzKN64Ot0IGQlhokmhokj3SQ33rUjWPOFWM/9E8qZDj2rmbIoWezX5X1/+Tq01POshfR5TfI69NRzrISO7ym+RBEXcT1OfDH+iJBoq9XpaJr01U7myq4j1y2MyxQ6TitWlohKa99rdbu3dn1bY8KkPDtPffq67YreVixWaYVsLG7JY3U7obf+VTUv5S7sbp9pizup3Q2/8qmpfyl3Y3T7THoCITqg5UJdpnWYzTOMhB+0dgXAzJFLDRwCjRuRAFAQQAAAAAAAAQbMDxBRckMqRsh04E2joYfDHHKGTu6P3anU22NMV1tY/X3y0bvQsG32jdp006p6ZmUnEyu3cdVGrspmZScTK7dxQ6XgOkpxlOa3x932F4lcLEQqwqx3RC4gkhR2CO297Jy7M31ENuossnLszfUIOAUgIMiCgAggAAAAAAAAAAAAAAAAAAAAgCgAo0BwCgIAoAAAACCAAAAAAAAAAAAH/9k=)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACCAgMAAADasxWRAAAADFBMVEXZ7/////+VlZX29vYl5th1AAAASElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOSAALWyrsxEHLDAAAAAElFTkSuQmCC)","url(data:image/png;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABJCAMAAABPapnRAAAAMFBMVEX////9amn+z879o6Lx//rj//T/MTH95OP/9PT8ubj/AADj0cTR/+3b6drx9O/W9ORYTpHNAAAEfklEQVR4XtWa23KzOgyF0cFHkvT933Y3wa4QQYPr/RPqdUenhnwjLUUSmYYRs6tinqaQiACAvoVhIAp3q3KOHwmyFsQhMITi5pgf5PNWfoho3ETMHARDBGNxOGZOeU+kAqgOMLyFD4jC3+TIuAZRAWT2u+iewkUcjr8vJa+Alg+PSAQ52iCPbIniBT53yyVUjHDALiCYTflwFQcpSyiZFqH8F0g0R/TCcQjinOOV16HKX0HiKocKCDTB18sC/yVOCwk+XberZ/Vnwt+AxGIHd1vfLIDUuw+IdUBQAtJxSNstVhL6oNVZZ1bqSUcqkSqhkkLuPwhSL4ttYzu9HEKpZpowf84iTmc7TD1ej9IjsMq5HKTDdq5Uu+fTEgG8qh2lWAF4Ub0MiPM832/O8XL9OuLLiSOL0K9AgiSQAYI7cwJv5gTAdbSdThFauqdJnaF4nO19XrdB3hs69HkrCG8pwuwrCDMjGF2Dne19XhcQjZjf5p0AeUc+bUCYudzb7fYPEA+yferyugnij8MhoZN7O2YuaTszP4RDRKd43W4TCkd9VFJjCxHIdeQfEHeTdhT5sR/DeIrXBUTHitSYIBwwF+ZINURUQJ4cTkCkkgPGZ7mrIU1lU+LcnVYq1EAbpQ6vC2K+qz9XDj+r707d5jxju/JF5YC707cmSdfcIGrxup1ZBVzTwdf+V04J3eKmAgA1VYx7C/KBsMXrZvFNe2MCGN3qvC4L9ebelxAKSNqCQAtIaPG6NdnAbpTibu3TIOWvRf6+sbOA6LWBLd/mdVcDonvfec82YToGkTgJogkScoPgf/Xwu3XsfabxqjDUI8JB+4/ll9zta/4WFtWn4Eahxes3xZF8Vk7X1D5ajbLXHCFXgfHYg2y3ZaeEcEiZz/BlPJ61oZLEbw2I0laZg5M9sTbOxsyq2ixCTFTQhGP7hBzZ6c9bj/iwCaz0Im7RDwi8FHrHXL2bOzIZPKw0lAobkMTRSQDVZOa7utj2veTBFypJAXDrFbGHH3njAOtlYersYv/Jbo5CiZ6E76DKp7cSAMcB6e/hNQjYGPptxWE7BGGzLZTqSyfM6y17eA8pKmjVDpmLe3swizZDfw+vsz5ssl5eN7aDeCDsWHueM68frYgdiwlpLcTYuWU7a15vX8eG9i3bwYET5vWmJ6h1XfsB/8ndXBdIf96et5vrAGl37RVe7wexvY7Xet12YejYqF/odfu/U6NrJx3uxlPhBK8b8YMO117rdVmr6OkpjeR14RaSKFv0Tte2nwr/lt7pgY9WrzbYKQikYLn2Qq+L9JYqeOl25zsv5sTy3gqNbvyDXu/9vY4WfsLr/fTtIwn2e91umPvp+0nwb3pdxBoFwQL5q163UchvIYBSOMHrZ/8Q97XMInhKZkRLnV4fTLbXB5M9HI8lu/kbTHYdHU66vY5+zMyyB57BZM87Y8j+oe+YAZF+geWt10gOcYvqUpleAul6aCxfGO/XB+CwRrUBODrmG4/TmCDTBGsMiqM1V1J1vVDgNJSYy0yzCJGIEH8H8R86J7+C+8H8WAAAAABJRU5ErkJggg==)","url(data:image/jpeg;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAAA9CAAAAAD94GjJAAADQklEQVR4Xt3awW4yMQwE4P+heLq8VJ7HZ5/nOtf8DS61QIFJCt0I5kKlKM1+8tpit/3XLiEBd7cedwfYVG63kG1/WpAIt0H8PosYb8G0Cp7Bi0nJGcRHqNT8GsWrQ19L4ggijpM7ZGD2d6Rm6ya5Q5foWJI26R2qRAeTtMmliaJEf0ty01kmmSjRfhKWSRAl2k5y0QxyR248ggTLeET0RpDWu4lmh5HcAbJlCElyAPzZROi5DDuKRMq5dHsm2WQNMFg+inQvy2dStN9+EkS3q+YfcHeTKEiqTKJK2EBqgiR22Hgtq/4eJH9A4u0A3X3j4QlSehOwh4Rfk/yccaflQ+XuIc550t1nb2RBDiHpiazDCwg9Q7GzbSPR1o9EiHAOR+Rw7iHBfnffdVAtp9OpfOXxLs8cQKKbrY9wdpGjgyJtluR/QYI9SlsoUj1NkvATdx5NmjsQWSTrQFVbRtBzNIkr4w5fonoNsO+CfVu/f4yOc++fxdrtQrRk8QvAajlvsBaJX1fLKRjlfGp8SpLPipJUNOk2UAs/HZr6SJDqComzjRQmlG6qWCRVtVBPpUSdxqRYwJcRkmSYFQWpA84qihsPjdF3/aOohUgNQ5LKmRwWno8qLxkPud27qZwi/pBkeYXdLBauCp56XnVW3H9TJIMWJQm0GioqkiVJLbQYD9ckC07OhzJNMmhRmtgZHVVfSArPkJTN1JmYJJkUJSlqw1eSAlfM6l2Sd6x114XEqwDDMmmRhWiKRHKWlM01IKXQY5T/Exe6+Nre6WZdVHM+tNDZmJQyRcIdUjZTSZJ+ujDO0Xk+PFLytIggyRsvBkQdkALdlz1JyoRJUV5/PlvYkASgWwCsjYcyIOUhLUmqANCicHtM21KZ8Pge9xSJtWuqlXukFt4kyTL5VI1W4hlne0WilZKkX+Rp0WZStNIzJKhv7Mc+1UbnrZCUaAHz+tcp+QVipZeUaCspW+mJiQd77pL2v+Y3vFi0/524cV60n0RqUZK0aD+J8XwNkg/+om4Pvv75newjDS5PPAPCprKVpMOPI3l7JxJmSPw4Etqnkbx9Gsnbm5Fc33XvRmpU/yf+fqQewsX/5r8bKUIiZe4A21vmP24hqdv1SRFyAAAAAElFTkSuQmCC)"]