存储/查找名称值对的最佳方法

时间:2008-11-20 17:46:03

标签: asp.net vb.net

我有一个我需要引用的错误代码列表,有点像这样:

Code / Error Message  
A01 = whatever error  
U01 = another error  
U02 = yet another error type

我通过Web服务调用将代码返回给我,我需要显示或获取可读错误。所以我在传递一个返回可读描述的代码时需要一个函数。我只是想做一个选择案例,但认为他们可能是一个更好的方法。这样做的最好的方法/最有效的方法是什么?

2 个答案:

答案 0 :(得分:8)

使用字典(在C#中,但概念和类是相同的):

// Initialize this once, and store it in the ASP.NET Cache.
Dictionary<String,String> errorCodes = new Dictionary<String,String>();

errorCodes.Add("A01", "Whatever Error");
errorCodes.Add("U01", "Another Error");


// And to get your error code:

string ErrCode = errorCodes[ErrorCodeFromWS];

答案 1 :(得分:0)

你会使用字典。字典在内部使用哈希映射来提高性能,因此在这方面很好。另外,因为你希望它通过它的声音尽可能快地进行,我会在它自己的类中静态初始化它,而不是例如在XML文件中或更简洁。你可能想要这样的东西:

public static class ErrorCodes
{
    private static Dictonary<string, string> s_codes = new Dicontary<string, string>();
    static ErrorCodes()
    {
         s_codes["code"] = "Description";
         s_codes["code2"] = "Description2";
    }

    public static string GetDesc(string code)
    {
         return s_codes[code];
    }
}

这样,如果你想将后端移动到文件而不是静态,那么你可以。