如何清除此列表/数组?表格

时间:2019-01-12 18:09:04

标签: c# arrays forms list clear

我正在用Windows窗体制作一个To Do程序,我想在其中保存事件,事件发生的日期/时间以及优先级。

我正在用信息填充列表框,然后我要重新开始并拥有一个干净的状态。列表框看起来已清除,但是一旦进行了其他输入,所有旧输入也会显示出来。我认为这是因为我尚未清除列表/数组。

我尝试使用Array.Clear(),但是我不知道是否要为其创建新方法或将其放入我的InitalizeGUI()中。我也不知道是否要清除列表或数组,因为它是一个列表的开头但已转换为字符串数组。

class TaskManager
    {
        private List<Task> todo;

        public TaskManager()
        {
            todo = new List<Task>();
        }

        public Task GetItem (int index)
        {
            if (!CheckIndex(index))
                return null;

            return todo[index];
        }

        public int Count
        {
            get { return todo.Count; }
        }

        public bool AddItem (Task itemIn)
        {
            bool ok = false;
            if (itemIn != null)
            {
                todo.Add(itemIn);
                ok = true;
            }
            return ok;
        }

        private bool CheckIndex (int index)
        {
            return(index >= 0) && (index < todo.Count);
        }

        public string [] ListToStringArray()
        {
            string[] taskArray = new string[Count];
            for (int i = 0; i < Count; i++) taskArray[i] = todo[i].ToString();
            return taskArray;
        }
    }
}

这是我的Taskmanager类。我是否有清除此列表/数组的方法,应该在TaskManager还是Mainform中完成?

我已经尝试了所有可以在网上进行谷歌搜索的方法,但是我不知道该怎么解决。

希望有人知道如何提供帮助!

最诚挚的问候

1 个答案:

答案 0 :(得分:1)

在TaskManager类中添加一个新的公共方法,以清除“ todo”私有变量。

public void ClearList()
{
todo.Clear();
}

在您需要清空列表时调用它。例如:使用InitGui()方法。