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
}
}
}