1. ホーム
  2. c#

Key Value Pairデータ構造に対する最適な実装は?

2023-08-06 10:41:54

質問

最近、C# を少し触っていて、すべての Generic Collections が少し混乱しています。私が木の頭がキー値のペアで、その下にキー値のペアの1つのオプションのリストがあるデータ構造を表現したかったとします(ただし、これらより多くのレベルはありません)。これは適切でしょうか?

public class TokenTree
{
    public TokenTree()
    {
        /* I must admit to not fully understanding this,
         * I got it from msdn. As far as I can tell, IDictionary is an
         * interface, and Dictionary is the default implementation of
         * that interface, right?
         */
        SubPairs = new Dictionary<string, string>();
    }

    public string Key;
    public string Value;
    public IDictionary<string, string> SubPairs;
}

本当にデータを受け渡すための簡単なシャントでしかない。

どのように解決するのか?

KeyValuePairというデータ型があるので、これを利用します。

KeyValuePair<string, string> myKeyValuePair = new KeyValuePair<string,string>("defaultkey", "defaultvalue");