C# : .NET

[".0s4*0|collections;datetime-format;collections",["F@eAC","MALAJAPKLA","OOCBESTUUUUTTUUUUYFGHDADADGDADADGDGDGDGRDADGDGDGDGDFOBCOBCBCEEWSTTUUUUTTUUUU","rywrfldd.",".NET","Array","Dictionary","List","String","2D","Async","Console","DataTable","Dates","DateTime","Enum","File","For","Foreach","Format","IEnumerable","If","IndexOf","Lambda","LINQ","Optimization","Parse","Path","Process","Property","Random","Regex","Replace","Sort","Split","Static","Substring","Switch","Tuple","While","StringDictionary"," is a specialized collection. It is found in the System.Collections Specialized namespace. It only allows string keys and string values. It is limited. It also suffers from performance problems.","This program"," shows some methods on the StringDictionary. The constructor is called, and then Add is invoked. The indexer is tested. ContainsKey and ContainsValue are used. IsSynchronized is accessed and the enumerator is used. ","Also: ","The Keys and Values properties are used in foreach-loops. The Remove, Count and Clear methods are demonstrated.","Constructor ","constructor","Indexer ","indexer","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","Based on:"," .NET 4.6\n\n","C# program that uses StringDictionary","\n\nusing System;\nusing System.Collections;\nusing System.Collections.Specialized;\n\nclass Program\n{\n static void Main()\n {","\n // Create new StringDictionary.\n ","StringDictionary"," dict = new StringDictionary();\n dict.Add(","\"cat\"",", \"feline\");\n dict.Add(","\"dog\"",", \"canine\");","\n\n // Try the indexer.\n ","Console.WriteLine(dict[","\"cat\"","]);\n Console.WriteLine(dict[","\"test\"","] == null);","\n\n // Use ContainsKey.\n ","Console.WriteLine(dict.ContainsKey(\"cat\"));\n Console.WriteLine(dict.ContainsKey(\"puppet\"));","\n\n // Use ContainsValue.\n ","Console.WriteLine(dict.ContainsValue(\"feline\"));\n Console.WriteLine(dict.ContainsValue(\"perls\"));","\n\n // See if it is thread-safe.\n ","Console.WriteLine(dict.IsSynchronized);","\n\n // Loop through pairs.\n ","foreach"," (DictionaryEntry entry in dict)\n {\n Console.WriteLine(","\"{0} = {1}\"",", entry.Key, entry.Value);\n }","\n\n // Loop through keys.\n ","foreach (string key in dict.Keys)\n {\n Console.WriteLine(key);\n }","\n\n // Loop through values.\n ","foreach (string value in dict.Values)\n {\n Console.WriteLine(value);\n }","\n\n // Use Remove method.\n ","dict.Remove(\"cat\");\n Console.WriteLine(dict.Count);","\n\n // Use Clear method.\n ","dict.Clear();\n Console.WriteLine(dict.Count);\n }\n}\n\n","Output","\n\nfeline\nTrue\nTrue\nFalse\nTrue\nFalse\nFalse\ndog = canine\ncat = feline\ndog\ncat\ncanine\nfeline\n1\n0","Internals."," How is the StringDictionary type internally implemented? It simply uses a Hashtable member field to store all the data you add. The Hashtable is not a generic type so it will have some overhead. ","Hashtable ","hashtable","Also: ","Every time you look up a key the key is converted to lowercase, adding more overhead.","Performance."," This section describes the performance characteristics of the StringDictionary. Every time you access a string key, it is converted to lowercase, which allocates on the managed heap. ","ToLower ","tolower","But: ","Other than this, performance is roughly the same as a Hashtable. Because of these shortcomings, detailed benchmarks are not useful.","Benchmark ","benchmark","Tip: ","For better performance, use a Dictionary generic type with string keys. And prefer the StringComparer.Ordinal option.","Dictionary ","dictionary","Dictionary StringComparer ","dictionary-stringcomparer","Summary."," The StringDictionary has few unique advantages. Its underlying collection, the Hashtable, is also obsolete because of the faster and cleaner Dictionary generic type. It is probably useless in almost all programs and should be avoided. ","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","3679700504","data-ad-format","link","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto"],"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAAA8CAMAAAA6wCQxAAAAGFBMVEX////w9f5kb9TGyu3b6P6hp+K71v8AIMVWWs88AAAErklEQVR4XtWa63LiMAxGVzf6/m+8Q0yR1SPUUmY65PtJEsfHujrm359IPw6N9/jl0L/TabHpCHc5KZwvuJjYZLH5u9sA07QFZz+Akze3AeFiwclbhtzzNvBiA4W53xKONqDED+1PHbIRTpb+HulJGxySs6e92QZnE0Pu/GLInVNuK/jN55Cb5Ugfk45Xmnw/KR+Dwa96HA6mH7t0H85V9fOy3uRHgN0ePbTI9Oa6IvWSyD2Nhl4V17vvr3PMdw33kYolVbVC5peU31XRIN08krIDTrbLORdfcKVrXotbfCDqeEXbwJShRlIlWVCxeSS1UuM+2bsdlB1bwmXa/TIq/E74Wt4KKMDFN0M0bJpwfiPAqiTHHU6wkngKbBTZKNhNwywiVoDpaNdIOFw2lI8CFzW2FwPycN4WZtXKSp90keqf/sXrSpy6+Y+qHO2uJk35kITT/d5FgbHTvnowS3TmlUridy4Mo/LLKqfFENKXj0zWAk9UTJw/SleJkq1uSTiM/7axLIYokjnkrNo3aDhm7MZwPu0uMDQ03mRA+2HIWYIQLotKpW12SpK0gPOpZ8T7qSAaZ7jgZPdiGwdHUSEcvZBwRrhxmvPXLRH6cu1PwNbNQPBTPIITmLL1booEVD6+GHgpDVdKHw0MXp+CXh7AYRz4VU8wb/OWfejLCZck1tiecHwN4UDrbbZTtuckkL7W2iebPA45kMAosBxS+mA5Jhh2DIwrpj3hst8ILrxUQ44kAqMgyyF2CJclfWjiWv+MMs0cEkmjDD2H3JyJa2PRNzEVxi8VlnRoVkDg2eSwNS4O7ww5ZkbmE7aEpmgqgSOfbHQ8i5FOKkHS5WQJR19mG9dHYeljVB+uuWSbXHYDlIX2+w8SLGGyBxzziXQhN2ZiSWSseFEygQ2SNKA+LOGScHDYhMOlWsJjPClxGWJloqNP9uHXhVwZ0l3gsLXqPBdy+ZP4wlBmuZnOKz4lhKPjJNwvQ87HkMt1WFLUJ0Tdms+ouV2Ifb1qi++Ae6GEF58g1dBdzuK76DgJhzqd75m7Zh1Dbl+2GNnYS85yvp6+5FcJ6nRdRITcUMIZco6SAaG5nMXdPX2pbDwd+eSprhmFL+EsTfwiHPtMb+CkfL0WKZMFXBty8YOQk33k8NEr5yRpZvvdyhpOay46Ydec/v9K1yz1Y7MqDgpYB9qDAs/nLWJB0NXvyOuj5lpdhtxtGa96umu2DS5ntilsKgRpQgwNOX2VH9IZcrmKL3bN+Z2SZXzuvqQOTSne1MBh2Tc4kWe7ZsX+sVPAbpSXoaFgfFph7zOdVMsFjndIkt4bvauofn+64w9t5xaKb+Hz4Z3GBpcHc4VO8gyu5pNDsacOPWRdf6tyzHCbovYfm6UcFDBl4kS1PeAsuRVaGC8f9zM55xkkqkBzBnmGs3frgK39FIQf31MsfH3FaHdv8tZwaGIIhwOPc8EpDAdk7AaAfB447lW898qzwGl7PB60EYvDCZJldP28oBDAbqeoBNkoeZ5WojtBkXvTdMJGNsJKAxVwwdXIuqO1fHPTUTHsB8B2Mjrr0j6b5hPScaviJzEbJXWv0p+JOnbh55Hhz5/D/ywbsv9huWAxbhOvjwAAAABJRU5ErkJggg==)","url(data:image/png;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAL4AAABBCAMAAABYbu5jAAAAMFBMVEX///+1wv+jqv9siv/p6//W3f8zZv9gb//19v9NK/8zAP999//S//8z//8zzP+z6P/0gInFAAABg0lEQVR4XtXXy1ICURAD0H7c96D+/9/KQqkhlEKD0iTrWZzKYtJXbou2s+jvn1Q55f2mfAMOb6Ec5D6+c/ObcvOdm98qN9+5+a1w842b3wo33/6Dv2H22g3zCL+PKF/uSKDsGL8pN9+5+U25+c7Nb5Wb74R8h+ki41eYLja+Qf1k/AL1k/HF4XIg4ytMFxl/X7/z8aF+Ov6A6bqR//FTnswXa2B96LmyPZtfoH4yvsDlwMaHy4GLj/Xz8RXqJ+PD5UDGh+ni448O08XEh+lSrtUVnC6qm+ey/krGx+li4+N0sfHh7Cfj43Sx8bF+Mj5OFxkf67c8frF+jJUovzRIBr/4+kovMb5YPr/OdcrUGL9k8FG/Tw3xxbP55/o1R4hfk/m6IBbii+fyJ/JnjK+5/HWRGuJLfzG+xvh6lX89f8m3GH90ar7Ya/FrkF8y+XNhRpAvlsi3+H8fUxP5A+svYb54Hl8Uy4/zNZEvCvo4XzyRLzrhXg7zNZMvw/o6ptsQpvDnE+wJyVGQ5SG7AAAAAElFTkSuQmCC)"]

["url(data:image/png;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)"]