确定列表中当前指向的项目

2023-12-30

我正在处理列表。我已经能够确定列表中项目的第一个和最后一个位置。我在用getPostion并通过显示项目名称Label。我的表单中的三个按钮:ShowFirstItem ShowNextItem(不工作)和ShowLastItem在标签中显示相应的项目。我的下一个项目遇到问题。我没有持有当前权限的会员fruit_tree。所以我不知道如何添加int成员或其他人fruit_tree会员称为current。我如何才能找到下一个(第一个之后的项目)并显示结果?

 public class ListForTrees
 {

        public fruit_trees GetNextTree()
            {
                current = 0;
                fruit_trees ft = first_tree;
                int i = 0;
                while (i != current)
                {
                    ft = ft.next_tree;
                    i++;

                }

                return ft;
            }

            }

            ListForTrees mainlist = new ListForTrees();     

            private void BtnGo_Click(object sender, EventArgs e)
            {
                fruit_trees[] ar_items = {   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(ar_items);
                fruit_trees current = mainlist.first_tree;   

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


            private void ShowFirstItem_Click_1(object sender, EventArgs e)
            {
            // Show First Item
        labelSpecificTree.Text = mainlist.first_tree.GetTreeType;

            } 

            private void ShowLastItem_Click(object sender, EventArgs e)
            {
            //Show Last Item
        labelSpecificTree.Text = mainlist.last_tree.GetTreeType;
            }

        private void ShowNextItem_Click(object sender, EventArgs e)
            {
            //Show Next Item
 fruit_trees obj = mainlist.GetNextTree();

            if (obj == null)
            {
                labelSpecificTree.Text = "No more trees!";
            }
            else
            {
                mainlist.current++;
                labelSpecificTree.Text = obj.next_tree.GetTreeType.ToString();                
            }   
            }



        }

我想补充一下

public int current; 

到树列表。在构造函数中将其设置为 0;

然后创建一个方法来返回当前的fruit_trees对象

public fruit_trees getCurrent()
{
    fruit_trees ft = first_tree;
    int i = 0;   
    while(i != current)
    {
       ft = ft.next_tree;
       i++;
    }
    return ft;
 }

现在这个方法返回当前对象而不是下一个对象。所以在下一个按钮事件中你有两个选择。
这里的问题是每次单击按钮时是否要移动到下一个树对象? 如果是这样,则增加 current 属性,然后调用 getcurrent 来显示。如果您希望保留当前内容而不移动(即反复单击“下一步”将导致相同的结果) 然后显示 getcurrent().next_tree.tree_type 且不增加当前值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

确定列表中当前指向的项目 的相关文章

随机推荐

  • 带通巴特沃斯滤波器的 C++ 实现

    我正在使用 openCV 和 c 实现图像分析算法 但我发现 openCV 官方没有任何巴特沃斯带通滤波器的功能 在我的项目中 我必须将时间序列像素传递到巴特沃斯 5 阶滤波器中 该函数将返回过滤后的时间序列像素 Butterworth 像
  • 如何在 SSIS 中为父包和子包设置 OnError 事件

    我使用的是 2016 版本 有一个主 ETL Extract 包 我在其中使用执行包任务执行三个子包 ABC DEF XYZ 我想捕捉System Error Description对于任何这些子包中发生的任何错误 必须通过父包以电子邮件形
  • Yii2 使复选框为必填项不起作用

    这是我的表格
  • 有没有办法在 HTA 中设置 GUI 的 Alpha 通道以使其透明?

    Like Teemu说我把蚂蚁 现在它的工作方式很奇怪 GUI 不透明 但颜色更清晰 因此设置 Alpha 通道就像减少RGB颜色并且不设置 GUI 的透明度 有没有办法让主 GUI 透明 HTA 图形用户界面
  • Google Cloud-Builder如何构建除master之外的所有分支

    我希望能够构建所有不是主分支的分支 但是当我尝试时 master UI 正确显示所有非主分支 但保存会返回 HTTP 400 错误 error code 400 message trigger template branch name is
  • 接口范例性能(动态绑定与泛型编程)

    虽然动态绑定和模板的核心本质上是不同的东西 但它们可以用来实现相同的功能 代码示例 仅供参考 A 动态绑定 namespace DB interface class CustomCode public virtual void operat
  • 我应该将 Java 中的静态嵌套类重构为单独的类吗?

    我继承了包含静态嵌套类的代码 public class Foo Foo fields and functions private static class SGroup private static Map
  • 有 PHP 代码混淆器吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将 ServerValue.TIMESTAMP 转换为日期

    我已放置一个按钮将当前日期和时间保存到 My Firebase Database private void saveTime DatabaseReference rootRef FirebaseDatabase getInstance ge
  • 在Windows 7上用Python快速获取屏幕上某些像素的颜色

    我需要获取屏幕上或活动窗口中某些像素的颜色 我需要这样做quickly 我尝试过使用 win32gui 和 ctypes windll 但它们太慢了 这些程序中的每一个都获取 100 像素的颜色 import win32gui import
  • 当按钮位于列表中时,ListView 长按不起作用

    我有一个带有自定义列表适配器的 ListView 它有 OnItemClickListener 和 OnItemLongClickListner 它们曾经工作得很好 之后 我必须在列表项的布局中放置一个按钮 并且项目单击和长按侦听器停止工作
  • JSF 2 中的范围

    我有一个 CRUD 应用程序 数据在哪里获取 显示 编辑 存储回数据库 此外 页面之间存在顺序访问 第二页需要输入在第一页上输入的信息 依此类推 最佳范围是什么以及为什么 何时使用哪个范围 每个范围的生命周期是什么 另外 我找不到任何关于范
  • 如何以及为何设置 C# 构建机器? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在与一个小型 4 人 开发团队合作开发一个 C 项目 我建议设置一台构建机器来进行项目的夜间构建和测试 因为我知道这是一件好事 问
  • C# HttpWebRequest 显示 404,但可以在浏览器中访问网站

    我正在尝试使用 c 从网站下载 xml 文件 但在某些网址上收到 404 错误 这是有线的 因为它们仍然可以在浏览器中工作 其他网址仍然可以正常工作 HttpWebRequest request HttpWebRequest WebRequ
  • 未安装应用程序时,我的应用程序不会显示智能应用横幅

    我正在使用元标记在 iphone ipad 设备的应用程序横幅中显示我的应用程序 ios 当我使用 Iphone 进行测试时 如果安装了该应用程序 横幅将非常有效 如果未安装 则横幅不会显示 我还对 Facebook 等其他应用程序进行了相
  • 如何使用 Swift 在 iOS 中同时录制和播放音频?

    在 Objective C 中 同时录制和播放音频相当简单 互联网上有大量的示例代码 但我想在 Swift 中使用 Audio Unit Core Audio 同时录制和播放音频 关于使用 Swift 的帮助和示例代码非常少 我找不到任何可
  • Parboiled2 导致“加载类文件‘Prepender.class’时检测到缺少或无效的依赖项”

    因此 过去几周我一直在尝试使用 parboiled2 这可能是我一生中遇到过的最难添加到构建的依赖项 我当前的错误是编译sbt assembly error error missing or invalid dependency detec
  • 在 SQL Server 2005 中的视图上创建全文索引

    我在 SQL Server 2005 中的视图上创建全文索引时遇到问题 查看文档我没有发现问题 我收到的错误消息是 Id 不是强制执行全文搜索键的有效索引 全文搜索键必须是唯一的 不可为空的 不脱机的单列索引 是未在非确定性或不精确的非持久
  • 将浮点数显示为至少有 1 位小数的字符串

    我想将浮点数显示为字符串 同时确保至少显示一位小数 如果有更多小数 我希望显示这些 例如 1 应显示为 1 0 1 2345 应显示为 1 2345 有人可以帮我处理格式字符串吗 使用 ToString 0 并使用您想要的小数位数
  • 确定列表中当前指向的项目

    我正在处理列表 我已经能够确定列表中项目的第一个和最后一个位置 我在用getPostion并通过显示项目名称Label 我的表单中的三个按钮 ShowFirstItem ShowNextItem 不工作 和ShowLastItem在标签中显