例如,我有四个电子表格,我想存储这样的内容:
Rows 1,2,3 from spread1,
Rows 1,2 from spread2,
Rows 3,4 from spread3,
Row 3 from spread4
我以为我应该使用字典<>但是MSDN说密钥应该是独一无二的。 那么这样做的正确方法是什么?
P.S:我使用的是.NET 3.5,不能使用Tuple。 感谢答案 0 :(得分:2)
创建一个自定义类并将其用作您的密钥。包括创建唯一键(电子表格名称和行列表)所需的所有字段,然后适当地重写Equals和GetHashCode。
答案 1 :(得分:1)
这听起来像是我的列表清单List<List<T>>
。将它包装在一个自定义类中可能会很好,为您提供所需的语义(如果没有,它可能会变得复杂,以便记住列表中的内容等;并且您可能希望在每个子列表上添加一些额外的元数据)。
答案 2 :(得分:1)
快速而直接的解决方案:
IDictionary<string, IList<int>> map = new Dictionary<string, IList<int>>
{
{ "spread1", new List<int> { 1, 2, 3 } },
{ "spread2", new List<int> { 1, 2 } },
{ "spread3", new List<int> { 3, 4 } },
{ "spread5", new List<int> { 3 } }
}
如果您需要某种灵活性 - 通过其他人建议的自定义类抽象传播和相关行。