当前位置: 首页 > 编程语言 > C#

DeterminingtheItemCurrentlyPointingtoinaList分享

时间:2023-04-10 21:23:26 C#

DeterminingtheItemCurrentlyPointingtoinaList我正在使用列表。我已经能够确定列表中项目的第一个和最后一个位置。我正在使用getPostion并按标签显示项目名称。我的表单中有三个按钮:ShowFirstItemShowNextItem(不起作用)和ShowLastItem以显示标签中的相应项目。我的下一个项目有问题。我没有持有当前fruit_tree的成员。所以我不知道如何添加一个int成员或另一个名为currentfruit_tree的成员。我怎么才能找到下一个(第一个项目后)并显示结果?publicclassListForTrees{publicfruit_treesGetNextTree(){current=0;fruit_treesft=first_tree;诠释我=0;while(i!=current){ft=ft.next_tree;我++;返回英尺;}}ListForTreesmainlist=newListForTrees();privatevoidBtnGo_Click(objectsender,EventArgse){fruit_trees[]ar_items={newfruit_trees("cherry",48,12.95,3),newfruit_trees("pine",36,9.95,8),newfruit_trees("oak"",60,14.95,2),newfruit_trees("桃子",54,19.95,3),newfruit_trees("梨",36,11.85,2),newfruit_trees("苹果",62,13.45,5)};mainlist=newListForTrees(ar_items);fruit_treescurrent=mainlist.first_tree;while(current!=null){TxtOutput.AppendText(current.ToString()+Environment.NewLine);current=current.next_tree;}}privatevoidShowFirstItem_Click_1(objectsender,EventArgse){//显示第一项labelSpecificTree.Text=mainlist.first_tree.GetTreeType;}privatevoidShowLastItem_Click(objectsender,EventArgse){//显示最后一项labelSpecificTree.Text=mainlist.last_tree.GetTreeType;}privatevoidShowNextItem_Click(objectsender,EventArgse){//显示下一个项目fruit_treesobj=mainlist.GetNextTree();if(obj==null){labelSpecificTree.Text="没有更多的树了!";}else{mainlist.current++;labelSpecificTree.Text=obj.next_tree.GetTreeType.ToString();我想添加publicintcurrent;在构造函数中将列表设置为0;然后创建一个返回当前fruit_trees对象的方法publicfruit_treesgetCurrent(){fruit_treesft=first_tree;诠释我=0;while(i!=current){ft=ft.next_tree;我++;返回英尺;现在这个方法返回当前对象而不是下一个对象。所以你在下一个按钮事件中有2个选项。这里的问题是每次单击按钮时是否要移动到下一个树对象?如果这样增加当前属性,则调用getcurrent来显示它。如果您想保留当前而不是移动,请显示getcurrent()(即重复单击将导致相同的结果)。next_tree.tree_type,不增加当前值。我不确定这是否能解决您的问题,但您可以添加publicfruit_treescurrent_tree;ListForTrees类中的字段。然后您可以轻松地添加方法来显示下一个并将项目指针移动到列表中的下一个项目。记住当前项目可以避免每次需要列表中的下一棵树时都浏览整个列表。代码可能如下所示:publicfruit_treesGetNextTree(){//保存当前指向的树fruit_treestree=this.current_tree;if(tree!=null){//将current_tree移动到下一棵树,下次返回current_tree=current_tree.next_tree;//返回保存的树对象}returntree;}为了让它工作,你还应该记住从添加到列表中的第一棵树开始current_tree的值。您还可以编写某种ResetNextTreePointer()方法以将其指向列表中的第一棵树。对代码的一些建议:以上是C#学习教程:判断列表中当前指向的项目共享的所有内容。如果对大家有用,需要了解更多C#学习教程,希望大家多多关注——本文来自网络合集,不代表立场,如涉及侵权,请点击右转联系管理员删除。如需转载请注明出处: