将某些字符串映射到其他字符串的建议结构

时间:2014-10-01 21:17:30

标签: c# string collections keyvaluepair

在我的控制台应用程序中,我有一百个县代码及其名称。例如:

"01" : "Floyd"
"02" : "Wabash"

当我的程序使用这些值时,它会显示" 01"," 02" ...我希望得到" Floyd"等...

此列表未来不会成长,我只是对它们进行硬编码,您如何建议访问这些? 也许在静态课上?也许是JSON格式?其他方式?

3 个答案:

答案 0 :(得分:2)

字典就是您所寻找的:MSDN link

简短的例子:

void Main()
{
    var dic = new Dictionary<int,string>();

    // Instead of having a method to check, we use this Action
    Action<int> tryDic = (i) => {
        if (dic.ContainsKey(i))
            Console.WriteLine("{0}:{1}", i, dic[i]);
        else
            Console.WriteLine("dic has no key {0}", i);
    };

    dic.Add(1,"one");
    dic.Add(2,"two");

    // dic.Keys   = 1, 2
    // dic.Values = one, two

    tryDic(1); // one
    tryDic(3); // dic has no key 3 (Happens in Action above)

    dic[1]="wow";
    tryDic(1); // wow

}

答案 1 :(得分:1)

只需使用简单的Dictionary<string, string>;如果你真的想要你可以将它包装在一个类中以添加一些行为,例如处理未找到的键或已经存在的

答案 2 :(得分:0)

您正在寻找Dictionary<string, string>

var values = new Dictionary<string,string>();
values.Add("01", "Floyd");
...

var value = values["01"]; // Floyd