优雅的方式来管理相同类型的许多领域

时间:2013-03-20 16:48:25

标签: c# .net list collections dictionary

我有一个包含很多列表的类:

private List<MyClass> m_List1;
private List<MyClass> m_List2;
private List<MyClass> m_List3;
private List<MyClass> m_List4;
...
private List<MyClass> m_ListN;

一切都很好,但代码在某种程度上变得难以阅读和编写......特别是当我需要在需要时实例化这些列表或清除它们时。

您能否建议我一个优秀的解决方案来更好地管理它们?我在想Dictionary<String, List<MyClass>>可以作为一种&#34;包装&#34;对于我的所有列表,或者更好的是,内部Dictionary<String, List<MyClass>>的类暴露方法ClearAll(),例如... 在这种情况下,我该如何处理清单替换,清算,处置等?让我们说我的包装中有以下代码......

public void Assign(String key, List<MyClass> value)
{
    m_InternalDictionary[key] = value;
}

如果该密钥上已存在另一个列表,我应该在将其替换为另一个列表之前将其清除吗?

还有其他建议吗?

1 个答案:

答案 0 :(得分:4)

你有什么理由需要单独的名单吗?为什么不在您的班级中有一个列表列表?

private List<List<MyClass>> myClasses { get; set; }