由列和行字符串值键入的 C# 矩阵

标签 c# arrays collections

我想创建一个具有可变列数和可变行数的 C# 数据结构。我会将值插入“单元格”。我希望能够使用字符串而不是整数对列和行进行索引,以便我可以按如下方式处理这些单元格:infotable("pete","monday")=3, or infotable("mike","星期五”)++。当我遇到尚不存在的列名或行名时,我会将其添加到结构中。

我考虑过使用嵌套集合,但我无法保证每个嵌套集合都包含与所有其他嵌套集合相同的键(除非我手动管理)。我考虑过使用数据表,但后来我无法使用字符串索引行。

满足我的要求的最巧妙方法是什么?

谢谢。

最佳答案

我想到了两个解决方案:

  1. 使用包含两部分字符串键和值字段的数据库表。这是最具扩展性的解决方案,但也是“最重”的解决方案。

  2. 创建一个采用两个字符串的简单 StringPair 结构(为您的应用程序赋予类和成员有意义的名称),实现相等性和哈希码生成(可能只是对两个字符串的哈希码进行异或),然后使用以该 StringPair 为键的简单字典。

关于由列和行字符串值键入的 C# 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6337012/

相关文章:

java - 如何在java中获取Map中重复键的最新值?

java - 反转 Queue<Integer> 并将其转换为 int 数组

c# - 使用 ResizeGrip 调整大小时,Windows 最小宽度和最小高度都会被忽略

c# - 将结构数据数组从 C++ 编码到 C# 时出现问题

c# - 极坐标图 x 轴 0 位置

javascript - 使用 Nashorn 遍历数组

php - array_merge_recursive 声明数组不是数组

java - 使用可变键映射并发

c# - 单元测试以确保只有选定的 HTTP 动词适用于 WebAPI

javascript - 在mysql nodejs中插入对象数组