C# Static Dictionary

Static illustration

A static Dictionary can store global data. It lets you look up strings or other values quickly. This Dictionary will exist only once in your program's memory, making it efficient.

Dictionary Examples Static Modifier

This C# article shows a static Dictionary that tests strings. It provides example code.

Example

First, the example here is useful code for finding a plural version of a word. You can pass in a string, and the method will return the pluralized version. The Dictionary is static because it doesn't require state and doesn't need to be created in multiple instances.

Program that uses static Dictionary [C#]

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
	// Write pluralized words from static Dictionary
	Console.WriteLine(PluralStatic.GetPlural("game"));
	Console.WriteLine(PluralStatic.GetPlural("item"));
	Console.WriteLine(PluralStatic.GetPlural("entry"));
    }
}

/// <summary>
/// Contains plural logic in static class [separate file]
/// </summary>
static class PluralStatic
{
    /// <summary>
    /// Static string Dictionary example
    /// </summary>
    static Dictionary<string, string> _dict = new Dictionary<string, string>
    {
	{"entry", "entries"},
	{"image", "images"},
	{"view", "views"},
	{"file", "files"},
	{"result", "results"},
	{"word", "words"},
	{"definition", "definitions"},
	{"item", "items"},
	{"megabyte", "megabytes"},
	{"game", "games"}
    };

    /// <summary>
    /// Access the Dictionary from external sources
    /// </summary>
    public static string GetPlural(string word)
    {
	// Try to get the result in the static Dictionary
	string result;
	if (_dict.TryGetValue(word, out result))
	{
	    return result;
	}
	else
	{
	    return null;
	}
    }
}

Output

games
items
entries
Note

Description. The static Dictionary is encapsulated in a static class, and access to its string keys and values is provided through the public method GetPlural. This code will return the value in the static Dictionary that is found at the key specified. Please see the article that focuses on an implementation of this pluralization function for another example.

Plural Words

Summary

The C# programming language

We saw example code that encapsulates a static Dictionary in a class, which is instantiated only once in the entire program. You could extend the code to have entries added at runtime, just like a normal Dictionary. The discussion focuses on the static Dictionary itself in the C# language, but also points to a more complete exploration of word pluralization lookup tables.

Collections
.NET