Position eines Elements in einer Liste anzeigen

Ich arbeite mit einer Linkliste. Mein Konstruktor nimmt Arrays mit darin enthaltenen Elementen oder hängt ein Element (einzeln) an die Liste anBtnAddTree klicken. Aus experimentellen Gründen versuche ich herauszufinden, wie die Position eines Elements aus der Liste abgerufen werden kann. Ich habe drei Schaltflächen festgelegt, die hoffentlich angezeigt werden:first, next, last Gegenstand und Anzeige durch alabel. Ich habe zwei Funktionen erstellt, um mein Bedürfnis zu erfüllenRetrieve undCurrent_Tree() aber hier komme ich in eine Sackgasse. Ich bin mir bewusst, dass Artikel angezeigt werden, dienext Möglicherweise muss ich eine Schleife verwenden, bin mir aber nicht sicher, wie ich vorgehen soll. Wie kann ich die Position eines Elements in der Liste anzeigen?

        public class ListForTrees
        {

        //Retrieve Position of item
            public void Retrieve(int Position)
            {
                int new_position = Position;
                fruit_trees current = first_tree;

                for (int i = 0; i < Position && current != null; i++)
                {
                    current = current.next_tree;
                }
                return current;
            }

        //Show Current Tree
            public void Current_Tree()
            {
                try
                {
                    current = fruit_trees.first_tree;
                    labelSpecificTree.Text = current.Type.ToString();
                }
                catch { };

            }         



        }

        ListForTrees mainlist = new ListForTrees();     

        private void BtnGo_Click(object sender, EventArgs e)
        {
            fruit_trees[] ax = {   new fruit_trees("cherry", 48, 12.95, 3),
                                             new fruit_trees("pine", 36, 9.95, 8),
                                             new fruit_trees("oak", 60, 14.95, 2),
                                             new fruit_trees("peach", 54, 19.95, 3),
                                             new fruit_trees("pear", 36, 11.85, 2),
                                             new fruit_trees("apple", 62, 13.45, 5)
                                         };   
            mainlist = new ListForTrees(ax);
            fruit_trees current = mainlist.first_tree;   

            while (current != null)
            {
                TxtOutput.AppendText(current.ToString() + Environment.NewLine);
                current = current.next_tree;
            }
        }

        private void ShowNextItem_Click(object sender, EventArgs e)
        {
        //Show Next Item
        }

        private void ShowLastItem_Click(object sender, EventArgs e)
        {
        //Show Last Item
        }

        private void ShowFirstItem_Click_1(object sender, EventArgs e)
        {
        // Show First Item
        }


    }
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage