{"id":641,"date":"2022-05-07T11:15:54","date_gmt":"2022-05-07T04:15:54","guid":{"rendered":"https:\/\/csharptutorial.net\/?page_id=641"},"modified":"2023-07-08T20:57:14","modified_gmt":"2023-07-08T13:57:14","slug":"csharp-dictionary","status":"publish","type":"page","link":"https:\/\/www.csharptutorial.net\/csharp-collections\/csharp-dictionary\/","title":{"rendered":"C# Dictionary&lt;TKey, TValue&gt;"},"content":{"rendered":"\n<p><strong>Summary<\/strong>: in this tutorial, you&#8217;ll learn how to use the C# <code>Dictionary&lt;Tkey, TValue&gt;<\/code> class to manage dictionaries effectively.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction to the C# Dictionary&lt;TKey,TValue><\/h2>\n\n\n\n<p>The <code>Dictionary&lt;TKey,TValue&gt;<\/code> class represents a collection of keys and values. It belongs to the <code>System.Collections.Generic<\/code> namespace. The <code>TKey<\/code> and <code>TValue<\/code> are the types of keys and values in the dictionary.<\/p>\n\n\n\n<p>Every key in a dictionary must be unique. Also, a key cannot be <code>null<\/code> if its type is a reference type. If a key is an object, it must not change in any way that affects its uniqueness (or hash value).<\/p>\n\n\n\n<p>Because C# implements <code>Dictionary&lt;TKey, TValue)<\/code> as a hashtable, retrieving a value by key is very fast.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Create a dictionary<\/h2>\n\n\n\n<p>The following creates a dictionary in which both keys and values are strings:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"C#\" data-shcb-language-slug=\"cs\"><span><code class=\"hljs language-cs\">Dictionary&lt;<span class=\"hljs-keyword\">string<\/span>,<span class=\"hljs-keyword\">string<\/span>&gt; states = <span class=\"hljs-keyword\">new<\/span> Dictionary&lt;<span class=\"hljs-keyword\">string<\/span>,<span class=\"hljs-keyword\">string<\/span>&gt;();<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C#<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cs<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Alternatively, you can use the <code>var<\/code> keyword:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"C#\" data-shcb-language-slug=\"cs\"><span><code class=\"hljs language-cs\"><span class=\"hljs-keyword\">var<\/span> states = <span class=\"hljs-keyword\">new<\/span> Dictionary&lt;<span class=\"hljs-keyword\">string<\/span>, <span class=\"hljs-keyword\">string<\/span>&gt;();<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C#<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cs<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Populating dictionary<\/h2>\n\n\n\n<p>To add the specified key and value to a dictionary, you use the <code>Add()<\/code> method. For example, the following adds three key\/value pairs to the <code>states<\/code> dictionary:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"C#\" data-shcb-language-slug=\"cs\"><span><code class=\"hljs language-cs\"><span class=\"hljs-keyword\">var<\/span> states = <span class=\"hljs-keyword\">new<\/span> Dictionary&lt;<span class=\"hljs-keyword\">string<\/span>,<span class=\"hljs-keyword\">string<\/span>&gt;();\n\nstates.Add(<span class=\"hljs-string\">\"CA\"<\/span>, <span class=\"hljs-string\">\"California\"<\/span>);\nstates.Add(<span class=\"hljs-string\">\"TX\"<\/span>, <span class=\"hljs-string\">\"Texas\"<\/span>);\nstates.Add(<span class=\"hljs-string\">\"NY\"<\/span>, <span class=\"hljs-string\">\"New York\"<\/span>);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C#<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cs<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In this example, the keys are the state abbreviation and the values are the state names.<\/p>\n\n\n\n<p>Also, you can use a collection initializer to add key\/value pairs to a dictionary when you create it. For example:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"C#\" data-shcb-language-slug=\"cs\"><span><code class=\"hljs language-cs\"><span class=\"hljs-keyword\">var<\/span> states = <span class=\"hljs-keyword\">new<\/span> Dictionary&lt;<span class=\"hljs-keyword\">string<\/span>, <span class=\"hljs-keyword\">string<\/span>&gt;()\n{\n    {<span class=\"hljs-string\">\"CA\"<\/span>,<span class=\"hljs-string\">\"California\"<\/span> },\n    {<span class=\"hljs-string\">\"TX\"<\/span>,<span class=\"hljs-string\">\"Texas\"<\/span> },\n    {<span class=\"hljs-string\">\"NY\"<\/span>, <span class=\"hljs-string\">\"New York\"<\/span> }\n};<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C#<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cs<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In this syntax, you place a key\/value pair inside curly braces and wrap all elements in outer curly braces.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Retrieving an element from a dictionary<\/h2>\n\n\n\n<p>To access an element, you use a square bracket and the key of the element like this:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">dict<\/span><span class=\"hljs-selector-attr\">&#91;key]<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>For example, the following shows how to access the elements with keys &#8220;CA&#8221; and &#8220;NY&#8221;:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"C#\" data-shcb-language-slug=\"cs\"><span><code class=\"hljs language-cs\"><span class=\"hljs-keyword\">var<\/span> states = <span class=\"hljs-keyword\">new<\/span> Dictionary&lt;<span class=\"hljs-keyword\">string<\/span>, <span class=\"hljs-keyword\">string<\/span>&gt;()\n{\n    {<span class=\"hljs-string\">\"CA\"<\/span>,<span class=\"hljs-string\">\"California\"<\/span> },\n    {<span class=\"hljs-string\">\"TX\"<\/span>,<span class=\"hljs-string\">\"Texas\"<\/span> },\n    {<span class=\"hljs-string\">\"NY\"<\/span>, <span class=\"hljs-string\">\"New York\"<\/span> }\n};\n\nConsole.WriteLine(states&#91;<span class=\"hljs-string\">\"CA\"<\/span>]);\nConsole.WriteLine(states&#91;<span class=\"hljs-string\">\"NY\"<\/span>]);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C#<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cs<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"plaintext\" data-shcb-language-slug=\"plaintext\"><span><code class=\"hljs language-plaintext\">California\nNew York<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">plaintext<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">plaintext<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>If you attempt to use a key that doesn&#8217;t exist, you&#8217;ll get a <code>KeyNotFound<\/code> exception:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"C#\" data-shcb-language-slug=\"cs\"><span><code class=\"hljs language-cs\"><span class=\"hljs-keyword\">var<\/span> states = <span class=\"hljs-keyword\">new<\/span> Dictionary&lt;<span class=\"hljs-keyword\">string<\/span>, <span class=\"hljs-keyword\">string<\/span>&gt;()\n{\n    {<span class=\"hljs-string\">\"CA\"<\/span>,<span class=\"hljs-string\">\"California\"<\/span> },\n    {<span class=\"hljs-string\">\"TX\"<\/span>,<span class=\"hljs-string\">\"Texas\"<\/span> },\n    {<span class=\"hljs-string\">\"NY\"<\/span>, <span class=\"hljs-string\">\"New York\"<\/span> }\n};\n\nConsole.WriteLine(states&#91;<span class=\"hljs-string\">\"AZ\"<\/span>]); <span class=\"hljs-comment\">\/\/ Exception<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C#<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cs<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Fortunately, you can check if a key exists before accessing the element by using the <code>ContainKeys()<\/code> method like this:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"C#\" data-shcb-language-slug=\"cs\"><span><code class=\"hljs language-cs\"><span class=\"hljs-keyword\">var<\/span> states = <span class=\"hljs-keyword\">new<\/span> Dictionary&lt;<span class=\"hljs-keyword\">string<\/span>, <span class=\"hljs-keyword\">string<\/span>&gt;()\n{\n    {<span class=\"hljs-string\">\"CA\"<\/span>,<span class=\"hljs-string\">\"California\"<\/span> },\n    {<span class=\"hljs-string\">\"TX\"<\/span>,<span class=\"hljs-string\">\"Texas\"<\/span> },\n    {<span class=\"hljs-string\">\"NY\"<\/span>, <span class=\"hljs-string\">\"New York\"<\/span> }\n};\n\n<span class=\"hljs-keyword\">if<\/span> (states.ContainsKey(<span class=\"hljs-string\">\"AZ\"<\/span>))\n{\n    Console.WriteLine(states&#91;<span class=\"hljs-string\">\"AZ\"<\/span>]);\n}\n<span class=\"hljs-keyword\">else<\/span>\n{\n    Console.WriteLine(<span class=\"hljs-string\">\"No state with the abbreviation AZ exists\"<\/span>);\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C#<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cs<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"plaintext\" data-shcb-language-slug=\"plaintext\"><span><code class=\"hljs language-plaintext\">No state with the abbreviation AZ exists<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">plaintext<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">plaintext<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Also, you can use the <code>TryGetValue()<\/code> method if you&#8217;re unsure whether the key exists:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-11\" data-shcb-language-name=\"C#\" data-shcb-language-slug=\"cs\"><span><code class=\"hljs language-cs\"><span class=\"hljs-keyword\">var<\/span> states = <span class=\"hljs-keyword\">new<\/span> Dictionary&lt;<span class=\"hljs-keyword\">string<\/span>, <span class=\"hljs-keyword\">string<\/span>&gt;()\n{\n    {<span class=\"hljs-string\">\"CA\"<\/span>,<span class=\"hljs-string\">\"California\"<\/span> },\n    {<span class=\"hljs-string\">\"TX\"<\/span>,<span class=\"hljs-string\">\"Texas\"<\/span> },\n    {<span class=\"hljs-string\">\"NY\"<\/span>, <span class=\"hljs-string\">\"New York\"<\/span> }\n};\n\n<span class=\"hljs-keyword\">string<\/span> state;\n\n<span class=\"hljs-keyword\">if<\/span>(states.TryGetValue(<span class=\"hljs-string\">\"CA\"<\/span>, <span class=\"hljs-keyword\">out<\/span> state))\n{\n    Console.WriteLine(state);\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-11\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C#<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cs<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">California<\/code><\/span><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Iterating through a dictionary<\/h2>\n\n\n\n<p>To iterate all elements of a dictionary, you use the <code><a href=\"https:\/\/csharptutorial.net\/csharp-tutorial\/csharp-foreach\/\">foreach<\/a><\/code> statement. The following example uses the <code>foreach<\/code> statement to iterate over all elements in the <code>states<\/code> dictionary:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-12\" data-shcb-language-name=\"C#\" data-shcb-language-slug=\"cs\"><span><code class=\"hljs language-cs\"><span class=\"hljs-keyword\">var<\/span> states = <span class=\"hljs-keyword\">new<\/span> Dictionary&lt;<span class=\"hljs-keyword\">string<\/span>, <span class=\"hljs-keyword\">string<\/span>&gt;()\n{\n    {<span class=\"hljs-string\">\"CA\"<\/span>,<span class=\"hljs-string\">\"California\"<\/span> },\n    {<span class=\"hljs-string\">\"TX\"<\/span>,<span class=\"hljs-string\">\"Texas\"<\/span> },\n    {<span class=\"hljs-string\">\"NY\"<\/span>, <span class=\"hljs-string\">\"New York\"<\/span> }\n};\n\n<span class=\"hljs-keyword\">foreach<\/span> (<span class=\"hljs-keyword\">var<\/span> state <span class=\"hljs-keyword\">in<\/span> states)\n{\n    Console.WriteLine(<span class=\"hljs-string\">$\"<span class=\"hljs-subst\">{state.Key}<\/span>: <span class=\"hljs-subst\">{state.Value}<\/span>\"<\/span>);\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-12\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C#<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cs<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In each iteration, the <code>foreach<\/code> statement assigns the current dictionary&#8217;s element to the state variable. <\/p>\n\n\n\n<p>The type of each element is the struct <code>KeyValuePair&lt;TKey,TValue&gt;<\/code> which contains two properties: <code>Key<\/code> and <code>Value<\/code>.<\/p>\n\n\n\n<p>To access all the keys of a dictionary, you use the <code>Keys<\/code> property. For example:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-13\" data-shcb-language-name=\"C#\" data-shcb-language-slug=\"cs\"><span><code class=\"hljs language-cs\"><span class=\"hljs-keyword\">var<\/span> states = <span class=\"hljs-keyword\">new<\/span> Dictionary&lt;<span class=\"hljs-keyword\">string<\/span>, <span class=\"hljs-keyword\">string<\/span>&gt;()\n{\n    {<span class=\"hljs-string\">\"CA\"<\/span>,<span class=\"hljs-string\">\"California\"<\/span> },\n    {<span class=\"hljs-string\">\"TX\"<\/span>,<span class=\"hljs-string\">\"Texas\"<\/span> },\n    {<span class=\"hljs-string\">\"NY\"<\/span>, <span class=\"hljs-string\">\"New York\"<\/span> }\n};\n\n<span class=\"hljs-keyword\">foreach<\/span> (<span class=\"hljs-keyword\">var<\/span> stateAbbr <span class=\"hljs-keyword\">in<\/span> states.Keys)\n{\n    Console.WriteLine(stateAbbr);\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-13\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C#<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cs<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-14\" data-shcb-language-name=\"plaintext\" data-shcb-language-slug=\"plaintext\"><span><code class=\"hljs language-plaintext\">CA\nTX\nNY<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-14\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">plaintext<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">plaintext<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>To access only the values of a dictionary, you use the <code>Values<\/code> property. For example:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-15\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">var<\/span> states = <span class=\"hljs-keyword\">new<\/span> Dictionary&lt;string, string&gt;()\n{\n    {<span class=\"hljs-string\">\"CA\"<\/span>,<span class=\"hljs-string\">\"California\"<\/span> },\n    {<span class=\"hljs-string\">\"TX\"<\/span>,<span class=\"hljs-string\">\"Texas\"<\/span> },\n    {<span class=\"hljs-string\">\"NY\"<\/span>, <span class=\"hljs-string\">\"New York\"<\/span> }\n};\n\n<span class=\"hljs-keyword\">foreach<\/span> (<span class=\"hljs-keyword\">var<\/span> stateName in states.Values)\n{\n    Console.WriteLine(stateName);\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-15\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-16\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">California\nTexas\n<span class=\"hljs-keyword\">New<\/span> York<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-16\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Using a dictionary to simplify the if&#8230;else statement<\/h2>\n\n\n\n<p>The following <code>GetDay()<\/code> method returns the day name based on a day number from 1 to 7 using an <code><a href=\"https:\/\/csharptutorial.net\/csharp-tutorial\/csharp-if-else\/\">if...else<\/a><\/code> statement:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-17\" data-shcb-language-name=\"C#\" data-shcb-language-slug=\"cs\"><span><code class=\"hljs language-cs\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">string<\/span> <span class=\"hljs-title\">GetDay<\/span>(<span class=\"hljs-params\"><span class=\"hljs-keyword\">int<\/span> day<\/span>)<\/span>\n{\n    <span class=\"hljs-keyword\">if<\/span> (day == <span class=\"hljs-number\">1<\/span>) \n    {\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"Sunday\"<\/span>; \n    }\n    <span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span> (day == <span class=\"hljs-number\">2<\/span>) \n    { \n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"Monday\"<\/span>; \n    }\n    <span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span> (day == <span class=\"hljs-number\">3<\/span>) \n    { \n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"Tuesday\"<\/span>; \n    }\n    <span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span> (day == <span class=\"hljs-number\">4<\/span>) \n    {\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"Wednesday\"<\/span>; \n    }\n    <span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span> (day == <span class=\"hljs-number\">5<\/span>) \n    { \n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"Thursday\"<\/span>; \n    }\n    <span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span> (day == <span class=\"hljs-number\">6<\/span>) \n    {\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"Friday\"<\/span>; \n    }\n    <span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span> (day == <span class=\"hljs-number\">7<\/span>) \n    {\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"Saturday\"<\/span>; \n    }\n    <span class=\"hljs-keyword\">else<\/span>\n    { \n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"Invalid\"<\/span>; \n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-17\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C#<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cs<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>To simplify the code, you can use a dictionary for looking up the day name based on a day number like this:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-18\" data-shcb-language-name=\"C#\" data-shcb-language-slug=\"cs\"><span><code class=\"hljs language-cs\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">string<\/span> <span class=\"hljs-title\">GetDay<\/span>(<span class=\"hljs-params\"><span class=\"hljs-keyword\">int<\/span> day<\/span>)<\/span>\n{\n    <span class=\"hljs-keyword\">var<\/span> days = <span class=\"hljs-keyword\">new<\/span> Dictionary&lt;<span class=\"hljs-keyword\">int<\/span>, <span class=\"hljs-keyword\">string<\/span>&gt;()\n    {\n        {<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-string\">\"Sunday\"<\/span> },\n        {<span class=\"hljs-number\">2<\/span>, <span class=\"hljs-string\">\"Monday\"<\/span> },\n        {<span class=\"hljs-number\">3<\/span>, <span class=\"hljs-string\">\"Tuesday\"<\/span> },\n        {<span class=\"hljs-number\">4<\/span>, <span class=\"hljs-string\">\"Wednesday\"<\/span> },\n        {<span class=\"hljs-number\">5<\/span>, <span class=\"hljs-string\">\"Thursday\"<\/span> },\n        {<span class=\"hljs-number\">6<\/span>, <span class=\"hljs-string\">\"Friday\"<\/span> },\n        {<span class=\"hljs-number\">7<\/span>, <span class=\"hljs-string\">\"Saturday\"<\/span> },\n    };\n\n    <span class=\"hljs-keyword\">if<\/span> (days.ContainsKey(day))\n    {\n        <span class=\"hljs-keyword\">return<\/span> days&#91;day];\n    }\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"Invalid\"<\/span>;\n\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-18\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C#<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cs<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use the <code>Dictionary&lt;TKey,TValue&gt;<\/code> to manage dictionaries effectively.<\/li>\n\n\n\n<li>Use the <code>ContainsKey<\/code> or <code>TryGetValue<\/code> method if you&#8217;re unsure whether the key exists or not.<\/li>\n<\/ul>\n<div class=\"helpful-block-content\" data-title=\"\">\n\t<header>\n\t\t<div class=\"wth-question\">Was this tutorial helpful ?<\/div>\n\t\t<div class=\"wth-thumbs\">\n\t\t\t<button\n\t\t\t\tdata-post=\"641\"\n\t\t\t\tdata-post-url=\"https:\/\/www.csharptutorial.net\/csharp-collections\/csharp-dictionary\/\"\n\t\t\t\tdata-post-title=\"C# Dictionary&lt;TKey, TValue&gt;\"\n\t\t\t\tdata-response=\"1\"\n\t\t\t\tclass=\"wth-btn-rounded wth-yes-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\tclass=\"feather feather-thumbs-up block w-full h-full\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> Yes <\/span>\n\t\t\t<\/button>\n\n\t\t\t<button\n\t\t\t\tdata-response=\"0\"\n\t\t\t\tdata-post=\"641\"\n\t\t\t\tdata-post-url=\"https:\/\/www.csharptutorial.net\/csharp-collections\/csharp-dictionary\/\"\n\t\t\t\tdata-post-title=\"C# Dictionary&lt;TKey, TValue&gt;\"\n\t\t\t\tclass=\"wth-btn-rounded wth-no-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> No <\/span>\n\t\t\t<\/button>\n\t\t<\/div>\n\t<\/header>\n\n\t<div class=\"wth-form hidden\">\n\t\t<div class=\"wth-form-wrapper\">\n\t\t\t<div class=\"wth-title\"><\/div>\n\t\t\t\n\t\t\t<textarea class=\"wth-message\"><\/textarea>\n\n\t\t\t<button class=\"btn btn-primary wth-btn-submit\">Send<\/button>\n\t\t\t<button class=\"btn wth-btn-cancel\">Cancel<\/button>\n\t\t\n\t\t<\/div>\n\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, you&#8217;ll learn how to use the C# Dictionary<T> class to manage a collection of key-value pairs effectively.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2610,"menu_order":70,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-641","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/pages\/641","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/comments?post=641"}],"version-history":[{"count":5,"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/pages\/641\/revisions"}],"predecessor-version":[{"id":2631,"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/pages\/641\/revisions\/2631"}],"up":[{"embeddable":true,"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/pages\/2610"}],"wp:attachment":[{"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/media?parent=641"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}