C#使用-Find方法(续)
2011-12-29 23:43
176 查看
这几天出现了CSDN账号密码被泄露事件,于是我也上来看看,结果果然密码被修改了。。。
好久没上来发现有些人给我留言,很抱歉没有及时的给你们回复。在Find方法那篇博客中有人问到Find方法如果是使用的对象怎么进行Find,在此把代码贴出来
运行结果为
好久没上来发现有些人给我留言,很抱歉没有及时的给你们回复。在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); } } }
运行结果为
![](http://hi.csdn.net/attachment/201112/29/0_13251735484n49.gif)
相关文章推荐
- C# Find() 与 FindAll()方法的使用
- C#中List的Find方法的使用
- [C#]List的Sort()、Find()、FindAll()、Exist()的使用方法举例
- C#/ASP.NET List中Sort()、Find()、FindAll()、Exist()的使用方法
- C#中List的Find方法的使用
- [C#]DataTable使用过程中常用的Select、Find和Compute方法
- C#使用Find方法
- C# Collection.FindAndModify 方法 使用
- [C#]List的Sort()、Find()、FindAll()、Exist()的使用方法举例
- [C#/ASP.NET]List<>中Sort()、Find()、FindAll()、Exist()的使用方法
- C#使用_Find方法
- [C#]List的Sort()、Find()、FindAll()、Exist()的使用方法举例
- C#中List的Find方法的使用
- [C#/ASP.NET]List<>中Sort()、Find()、FindAll()、Exist()的使用方法
- 【转】[C#List的Sort()、Find()、FindAll()、Exist()的使用方法举例
- [C#]List的Sort()、Find()、FindAll()、Exist()的使用方法举例
- [C#/ASP.NET]List<>中Sort()、Find()、FindAll()、Exist()的使用方法
- [C#]DataTable使用过程中常用的Select、Find和Compute方法
- [C#/ASP.NET]List<>中Sort()、Find()、FindAll()、Exist()的使用方法
- C#中List的Find方法的使用