【发布时间】:2013-03-24 10:06:10
【问题描述】:
实际上,我尝试将链表实现为一个大学项目。
第一步,我编写了一个 ListElementBase 类和严格的 ListElement 类,每个数据类型都从这个类继承。
在第二步中,我尝试编写一个更灵活的单一结构。该结构应保持值作为对象和值的数据类型,以便将值转换为哪种数据类型的信息在对象内。
有点像这样:
private struct Element
{
public Element Previous;
public Element Next;
public object Value;
public ValueType Type;
public Element(Element sPrevious, Element sNext, object sValue, ValueType sType)
{
Previous = sPrevious;
Next = sNext;
Value = sValue;
Type = sType;
}
}
但我不明白,如何处理 DataType。我无法为 DataType 创建实例或调用 new Element(..., ..., ..., string) 之类的构造函数。
我是不是完全走错了路?
【问题讨论】:
-
不,你没有走错路。看来您正朝着正确的方向前进。
-
您希望您的链接列表能够容纳不同类型的对象,还是每个链接列表仅容纳一种类型的对象?
-
我想实现一个通用列表,它可以在同一个列表中保存任何数据类型。
标签: c# casting linked-list