C#使用-Find方法(续)
来源:互联网 发布:now直播软件下载 编辑:程序博客网 时间:2024/05/22 17:23
这几天出现了CSDN账号密码被泄露事件,于是我也上来看看,结果果然密码被修改了。。。
好久没上来发现有些人给我留言,很抱歉没有及时的给你们回复。在Find方法那篇博客中有人问到Find方法如果是使用的对象怎么进行Find,在此把代码贴出来
using System;using System.Collections.Generic;namespace FindSample{ class Program { static void Main(string[] args) { List<Task> tasks = InitializeTasks(); TaskFindHelper taskFindHelper = new TaskFindHelper(); // Set the finding conditions taskFindHelper.ID = "Task1"; taskFindHelper.Size = 100; taskFindHelper.Status = 1; Task result1 = taskFindHelper.FindTask(tasks, TaskFindingType.ID); Task result2 = taskFindHelper.FindTask(tasks, TaskFindingType.Size); Task result3 = taskFindHelper.FindTask(tasks, TaskFindingType.Status); if (result1 != null) { Console.WriteLine("Finding the ID == Task1 task, the result is:"); Console.WriteLine(result1.ToString()); } if (result2 != null) { Console.WriteLine("Finding the size == 100 task, the result is:"); Console.WriteLine(result2.ToString()); } if (result3 != null) { Console.WriteLine("Finding the Status == 1 task, the result is:"); Console.WriteLine(result3.ToString()); } Console.WriteLine(); List<Task> result4 = taskFindHelper.FindAllTask(tasks, TaskFindingType.ID); List<Task> result5 = taskFindHelper.FindAllTask(tasks, TaskFindingType.Size); List<Task> result6 = taskFindHelper.FindAllTask(tasks, TaskFindingType.Status); if (result4 != null) { Console.WriteLine("Finding the ID == Task1 task, the result is:"); foreach (Task task in result4) Console.WriteLine(task.ToString()); } if (result5 != null) { Console.WriteLine("Finding the size == 100 task, the result is:"); foreach (Task task in result5) Console.WriteLine(task.ToString()); } if (result6 != null) { Console.WriteLine("Finding the Status == 1 task, the result is:"); foreach (Task task in result6) Console.WriteLine(task.ToString()); } } private static List<Task> InitializeTasks() { Task t1 = new Task(); t1.ID = "Task1"; t1.Size = 100; t1.Status = 0; Task t2 = new Task(); t2.ID = "Task2"; t2.Size = 100; t2.Status = 1; Task t3 = new Task(); t3.ID = "Task3"; t3.Size = 150; t3.Status = 1; List<Task> taskList = new List<Task>(); taskList.Add(t1); taskList.Add(t2); taskList.Add(t3); return taskList; } } public class TaskFindHelper { public Task FindTask(List<Task> tasks, TaskFindingType t) { Task result = null; switch (t) { case TaskFindingType.ID: result = tasks.Find(FindByTaskID); break; case TaskFindingType.Size: result = tasks.Find(FindByTaskSize); break; case TaskFindingType.Status: result = tasks.Find(FindByTaskStatus); break; default: break; } return result; } public List<Task> FindAllTask(List<Task> tasks, TaskFindingType t) { List<Task> result = null; switch (t) { case TaskFindingType.ID: result = tasks.FindAll(FindByTaskID); break; case TaskFindingType.Size: result = tasks.FindAll(FindByTaskSize); break; case TaskFindingType.Status: result = tasks.FindAll(FindByTaskStatus); break; default: break; } return result; } private bool FindByTaskID(Task task) { return (task.ID == this.ID); } public String ID { get; set; } private bool FindByTaskSize(Task task) { return (task.Size == this.Size); } public int Size { get; set; } private bool FindByTaskStatus(Task task) { return (task.Status == this.Status); } public int Status { get; set; } } public enum TaskFindingType { ID, Size, Status } public class Task { public String ID { get; set; } public int Size { get; set; } public int Status { get; set; } public override string ToString() { return String.Format("ID is {0}, size is {1}, status is {2}", ID, Size, Status); } }}
运行结果为
- C#使用-Find方法(续)
- C#使用Find方法
- C# Find() 与 FindAll()方法的使用
- C#中List的Find方法的使用
- C#中List的Find方法的使用
- C#中List的Find方法的使用
- c#中List<T>find使用示例(转)
- HibernateTemplate 的 find方法使用
- HibernateTemplate 的 find方法使用
- HibernateTemplate 的 find方法使用
- Linux find 方法高级使用
- C#中List.Find 方法详解
- c# word替换(Find.Excute方法)操作 去除空行方法
- c# word替换(Find.Excute方法)操作 去除空行方法
- c# List find()方法返回值的问题(返回结果为对象的指针)
- C#中DataTable中的Compute方法使用收集(续)
- hibernate之template find方法使用
- Python中find()方法的使用
- uva Volume1 BigNumber 总结
- Java中的多态
- 队列ADT实现
- OOA和OOD
- 由拖库攻击谈口令字段的加密策略
- C#使用-Find方法(续)
- 从U盘来安装Win7
- 优秀技术blog推荐
- 关于无损APE,FLAC转AAC的小技巧
- Eclipse调试常用技巧
- c++以const&作为返回值的意义何在
- Queue和LinkedList的使用
- Srm 528 div2
- 编程方向