我正在使用链接列表。该列表包含基于文本框中插入值(大小,高度,库存,价格)的项目。 。通过按钮单击添加功能从texbox中获取值并附加项目,但每次我将一个项目添加到列表而不是放在列表的末尾它始终放在第一位。我不确定为什么会这样做。如何修改,以便它可以将项目始终附加到列表的末尾? (我在第五个多行文本框中显示我的测试结果,称为结果)。
代码
public void Add()
{
textBoxResults.Clear();
int stock = Convert.ToInt32(Stock.Text);
string type = Type.Text;
double price = Convert.ToDouble(Price.Text);
int height = Convert.ToInt32(Height.Text);
Tree = new FruitTrees();
Tree.Stock = stock;
Tree.Type = type;
Tree.Price = price;
Tree.Height = height;
Total += Tree.Price * Tree.Stock;
Trees.AddLast(Tree);
}
答案 0 :(得分:2)
这是一个学校项目吗?只是想知道为什么你没有使用System.Collections.Generic.LinkedList<T>
。
LinkedList<FruitTrees> trees = new LinkedList<FruitTrees>();
它附带了自己的AddLast
方法,可以完全按照您的要求进行操作。
另外,我认为你的班级名称不应该是复数(FruitTree vs FruitTrees)。
答案 1 :(得分:2)
您可以实现自己的AddLast,如下所示:
FruitTrees item = Trees.Retrieve(0);
while (item.Next != null)
{
item = item.Next;
}
item.Next = NewItem