0

私はリンクリストを扱っています。リストには、テキストボックスから挿入された値 (サイズ、高さ、在庫、価格) に基づく項目があります。. ボタンをクリックすると、 Add 関数は texboxes から値を取得してアイテムを追加しますが、リストの最後に配置するのではなく、リストにアイテムを追加するたびに、常に最初に配置されます。なぜそのような振る舞いをするのかわかりません。リストの最後に常にアイテムを追加できるようにするにはどうすればよいですか? (結果と呼ばれる 5 番目の複数行テキスト ボックスにテスト結果を表示しています)。

コード

 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);


    }
4

2 に答える 2

2

これは学校のプロジェクトですか?なぜ使わないのか不思議ですSystem.Collections.Generic.LinkedList<T>

LinkedList<FruitTrees> trees = new LinkedList<FruitTrees>();

それはあなたが望むことを正確に行う独自のAddLast方法が付属しています。

また、クラス名を複数形にするべきではないと思います (FruitTree と FruitTrees)。

于 2012-12-11T05:52:32.863 に答える
2

次のような独自の AddLast を実装できます。

FruitTrees item = Trees.Retrieve(0); 
while (item.Next != null)
{
  item = item.Next;
}
item.Next = NewItem
于 2012-12-11T05:56:24.693 に答える