我想创建一个具有可变列数和可变行数的 C# 数据结构。我会将值插入“单元格”。我希望能够使用字符串而不是整数对列和行进行索引,以便我可以按如下方式处理这些单元格:infotable("pete","monday")=3, or infotable("mike","星期五”)++。当我遇到尚不存在的列名或行名时,我会将其添加到结构中。
我考虑过使用嵌套集合,但我无法保证每个嵌套集合都包含与所有其他嵌套集合相同的键(除非我手动管理)。我考虑过使用数据表,但后来我无法使用字符串索引行。
满足我的要求的最巧妙方法是什么?
谢谢。
最佳答案
我想到了两个解决方案:
使用包含两部分字符串键和值字段的数据库表。这是最具扩展性的解决方案,但也是“最重”的解决方案。
创建一个采用两个字符串的简单 StringPair 结构(为您的应用程序赋予类和成员有意义的名称),实现相等性和哈希码生成(可能只是对两个字符串的哈希码进行异或),然后使用以该 StringPair 为键的简单字典。
关于由列和行字符串值键入的 C# 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6337012/