二维字符串数组的现代模拟是什么?

时间:2014-12-16 18:08:59

标签: c# arrays data-structures idictionary string-aggregation

我正在重构一些使用2D字符串数组的遗留代码:

/// <summary>Array of valid server messages</summary>
private static string[,] serverRsp =
{
    {"JOIN",            "RSP" }, 
    {"SETTING",     "RSP" }, 
    . . .

我想对此进行现代化,但不知道我是否应该使用字典,字符串列表列表或其他内容。 &#34; olden&#34;之间是否存在标准相关性?方式和黄金​​方式(遗产与重构)?

IWBN(这会很好)如果有一个图表显示数据类型和结构等的古代与黄金等。

1 个答案:

答案 0 :(得分:3)

[,]不是一个“旧的”数据结构,希望永远不会成为。 在适当的时候继续使用它。

例如:

  1. 就这种情况而言,List<List<T>>比简单的二维数组更令人困惑。

  2. 就内存消耗而言,它比List<T>轻(至少从我的测量结果来看)。

  3. 简而言之:如果没有任何真正的原因,或者要求更改它的新要求,就像让它更快O(1)访问数据结构键值存储(对于非索引,因此键比如,快速访问),不要改变它。很清楚,它是可读的。