代码优化,实现集合的遍历,获取满足条件的数据

var list = new List<MyTask>(){
    new MyTask(){ TID=1,TaskName="第一季广船国家有限公司 日常巡查任务", WillFinishDate=new DateTime(), RemainderDays=1, OverdueDays=1, Status="已完成",StatusID=1,Warn=1,Members="张三",UserID=1,FinishedDate=new DateTime() },
    new MyTask(){ TID=2,TaskName="第二季广船国家有限公司 日常巡查任务", WillFinishDate=new DateTime(), RemainderDays=1, OverdueDays=1, Status="已完成",StatusID=1,Warn=1,Members="李四",UserID=1,FinishedDate=new DateTime() },
    new MyTask(){ TID=3,TaskName="第三季广船国家有限公司 日常巡查任务", WillFinishDate=new DateTime(), RemainderDays=1, OverdueDays=1, Status="未完成",StatusID=1,Warn=1,Members="王五",UserID=1,FinishedDate=new DateTime() },
    new MyTask(){ TID=4,TaskName="第四季广船国家有限公司 日常巡查任务", WillFinishDate=new DateTime(), RemainderDays=1, OverdueDays=1, Status="未完成",StatusID=1,Warn=1,Members="赵六",UserID=1,FinishedDate=new DateTime() }
};

 

获取Status等于”已完成”的数据的集合。

 

方法1:

 

//this.MyTaskList = GetValue(list,tag);

 

//            private IList<MyTask> GetValue(List<MyTask> list,string tag)
//            {
//                IList<MyTask> taskList = new List<MyTask>();
//                foreach(var t in list)
//                {
//                    if(t.Status == tag)
//                    taskList.Add(t);
//                }
//                return taskList;
//            }

 

 

方法2:

 

//this.MyTaskList = selector(list,tag);

 

//            Func<List<MyTask>,string,IList<MyTask>> selector = delegate(List<MyTask> List ,string tag) {
//                IList<MyTask> taskList = new List<MyTask>();
//                List.ForEach( l => {
//                    if(l.Status == tag)
//                    taskList.Add(l);
//                });
//                return taskList;
//            };

 

方法3:

//this.MyTaskList = selector(list,tag);

//            Func<List<MyTask>,string,IList<MyTask>> selector = (List<MyTask> List ,string tag) => {
//                IList<MyTask> taskList = new List<MyTask>();
//                List.ForEach( l => {
//                    if(l.Status == tag)
//                    taskList.Add(l);
//                });
//                return taskList;
//            };

 

方法4:

this.MyTaskList = list.Where( l => l.Status == tag).ToList();

posted @ 2012-09-07 16:05  远大 光明  阅读(486)  评论(0编辑  收藏  举报