【发布时间】:2014-02-01 01:21:08
【问题描述】:
我有一个任务是在 C# 控制台应用程序中使用泛型实现一个线性链表。
该类还应该包含一个print() 方法来打印列表的元素。
线性列表的条件是 long 类型 (CNodeLong) 或 String 类型 (CNodeString),两者都继承自 CNode 并带有虚函数 Print()。
我在执行打印方法时遇到问题。我不知道它应该放在哪里,以及如何覆盖它。
这是我的 CNode 类和 CList 类:
public class CNode<T>
{
private CNode<T> next;
private T item;
public CNode<T> Next
{
get { return next; }
set { next = value; }
}
public T Item
{
get { return item; }
set { item = value; }
}
public CNode(T item)
: this(item,null)
{
}
public CNode(T item, CNode<T> next)
{
this.item = item;
this.next = next;
}
}
class CList<T>
{
private CNode<T> first;
private CNode<T> last;
private int count;
public CNode<T> First
{
get { return first; }
}
public CNode<T> Last
{
get { return last; }
}
public int Count
{
get { return count; }
}
public CList(string strListName)
{
count = 0;
first = last = null;
}
}
【问题讨论】:
-
"ASP.NET 控制台应用程序" - 非常棒...我需要弄清楚您是否需要控制台应用程序(这样您就可以使用
Console.Write等)或 ASP.Net 站点(比需要整理一下你用什么来渲染 WebForms,MVC,...) -
:) 这是一个控制台应用程序,我可以使用 Console.Write。但是让我困惑的是虚方法,规定必须是虚方法
-
旁注:C# 代码通常不使用Hungarian notation - 因此对于公共示例,您应该考虑不要在
CNode中使用C之类的前缀(事实上,如果它需要分配它是微不足道的用VS中的“重命名”重构重命名它)。
标签: c# generics singly-linked-list