一個簡單類
//學生
public class Student
{
private int id;//id
private string name;//姓名
private int student_//學號
public int ID
{
get { return id; }
set { id = value; }
public string NAME
{
get { return name; }
set { name = value; }
public int STUDENT_ID
{
get { return student_id; }
set { student_id = value; }
}
}
賦值
Student student = new Student();
List<Student> list = new List<Student>();
for (int i = 0; i < 20; i++)
{
student.ID = i;
student.NAME = "學生" + i;
student.STUDENT_ID = 2000 + i;
list.Add(student);
student = new Student();
}
1、使用Find
`public T Find(Predicate
查找學生姓名是"學生15"的學生
Student result1 = list.Find((Student s) => s.NAME == "學生15");
Console.WriteLine(@"ID:{0};姓名:{1};學號:{2}", result1.ID,
result1.NAME, result1.STUDENT_ID);
Console.ReadKey();
Console.WriteLine();
結果:
ID:15;姓名:學生15;學號:2015
2、使用FindAll
public List<T> FindAll(Predicate<T> match)
查找所有ID大於10的學生
List<Student> result2 = list.FindAll((s) => { return s.ID > 10; });
foreach (var item in result2)
{
Console.WriteLine(@"ID:{0};姓名:{1};學號:{2}", item.ID,
item.NAME, item.STUDENT_ID);
}
Console.ReadKey();
Console.WriteLine();
結果:
ID:11;姓名:學生11;學號:2011
ID:12;姓名:學生12;學號:2012
ID:13;姓名:學生13;學號:2013
ID:14;姓名:學生14;學號:2014
ID:15;姓名:學生15;學號:2015
ID:16;姓名:學生16;學號:2016
ID:17;姓名:學生17;學號:2017
ID:18;姓名:學生18;學號:2018
ID:19;姓名:學生19;學號:2019
3、使用FindLast
public T FindLast(Predicate<T> match)
找到最后一個(最新一個)姓名里面有1的
Student result3 = list.FindLast((Student s) => s.NAME.Contains("1"));
Console.WriteLine(@"ID:{0};姓名:{1};學號:{2}", result3.ID,
result3.NAME, result3.STUDENT_ID);
Console.ReadKey();
Console.WriteLine();
結果:
ID:19;姓名:學生19;學號:2019
4、使用FindIndex
public int FindIndex(Predicate<T> match)
找到學生姓名為“學生15”的序號
int result4 = list.FindIndex((Student s) => s.NAME == "學生15");
Console.WriteLine(@"序號:{0}", result4);
Console.ReadKey();
Console.WriteLine();
結果:
序號:15
如果您看了本篇博客,覺得對您有所收獲,請點擊右下角的 [推薦]
如果您想轉載本博客,請注明出處
如果您對本文有意見或者建議,歡迎留言
感謝您的閱讀,請關注我的后續博客
