List集合查詢數據
List<Employees> employees = new List<Employees>(); employees.Add(new Employees { Id = 1, Name = "Nancy.Davolio", City = "Seattle", BirthDate = Convert.ToDateTime("1948-12-08") }); employees.Add(new Employees { Id = 2, Name = "Andrew.Fuller", City = "Tacoma", BirthDate = Convert.ToDateTime("1952-02-19") }); employees.Add(new Employees { Id = 3, Name = "Janet.Leverling", City = "Kirkland", BirthDate = Convert.ToDateTime("1963-08-30") }); employees.Add(new Employees { Id = 4, Name = "Margaret.Peacock", City = "Redmond", BirthDate = Convert.ToDateTime("1937-09-19") });
employees.Add(new Employees { Id = 5, Name = "Steven.Buchanan", City = "London", BirthDate = Convert.ToDateTime("1955-03-04") });
All<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)確定序列中的所有元素是否都滿足條件。
Any<TSource>(IEnumerable<TSource>) 確定序列是否包含任何元素。
//表示集合中的任一個元素滿足表達式條件,即返回true。 var res1 = employees.Any(e => e.Id == 3 || e.Id == 8); Console.WriteLine(res1); //out:True var res2 = employees.Any(e => e.Id == 3 && e.Name == "Steven"); Console.WriteLine(res2); //out:False 數據源Name中沒有Steven
Contains(T) 確定某元素是否在 List<T> 中。
Equals(Object) 確定指定的對象是否等於當前對象。(繼承自 Object)
Exists(Predicate<T>) 確定 List<T> 是否包含與指定謂詞定義的條件匹配的元素。
Find(Predicate<T>) 搜索與指定謂詞所定義的條件相匹配的元素,並返回整個 List<T> 中的第一個匹配元素。
List<Employees> employees = new List<Employees>(); employees.Add(new Employees { Id = 1, Name = "Nancy.Davolio", City = "Seattle", BirthDate = Convert.ToDateTime("1948-12-08") }); employees.Add(new Employees { Id = 2, Name = "Andrew.Fuller", City = "Tacoma", BirthDate = Convert.ToDateTime("1952-02-19") }); employees.Add(new Employees { Id = 3, Name = "Janet.Leverling", City = "Kirkland", BirthDate = Convert.ToDateTime("1963-08-30") }); employees.Add(new Employees { Id = 4, Name = "Margaret.Peacock", City = "Redmond", BirthDate = Convert.ToDateTime("1937-09-19") }); employees.Add(new Employees { Id = 5, Name = "Steven.Buchanan", City = "London", BirthDate = Convert.ToDateTime("1955-03-04") }); //如果找到與指定謂詞定義的條件匹配的第一個元素,則為該元素; var emp = employees.Find(e => e.Id == 5); Console.WriteLine(emp.Id); //5 Console.WriteLine(emp.Name); //Steven.Buchanan Console.WriteLine(emp.City); //London Console.WriteLine(emp.BirthDate); //1955-03-04
FindAll(Predicate<T>) 檢索與指定謂詞定義的條件匹配的所有元素。
List<Employees> employees = new List<Employees>(); employees.Add(new Employees { Id = 1, Name = "Nancy.Davolio", City = "Seattle", BirthDate = Convert.ToDateTime("1948-12-08") }); employees.Add(new Employees { Id = 2, Name = "Andrew.Fuller", City = "Tacoma", BirthDate = Convert.ToDateTime("1952-02-19") }); employees.Add(new Employees { Id = 3, Name = "Janet.Leverling", City = "Kirkland", BirthDate = Convert.ToDateTime("1963-08-30") }); employees.Add(new Employees { Id = 4, Name = "Margaret.Peacock", City = "Redmond", BirthDate = Convert.ToDateTime("1937-09-19") }); employees.Add(new Employees { Id = 5, Name = "Steven.Buchanan", City = "London", BirthDate = Convert.ToDateTime("1955-03-04") }); //如果找到一個 List<T>,其中所有元素均與指定謂詞定義的條件匹配,則為該數組;否則為一個空 var emp = employees.FindAll(e => e.Id >=3);
//遍歷訪問 foreach (var item in emp) { Console.WriteLine(item.Id); Console.WriteLine(item.Name); Console.WriteLine(item.City); Console.WriteLine(item.BirthDate); }
FindIndex(Predicate<T>) 搜索與指定謂詞所定義的條件相匹配的元素,並返回整個 List<T> 中第一個匹配元素的從零開始的索引。
List<Employees> employees = new List<Employees>(); employees.Add(new Employees { Id = 1, Name = "Nancy.Davolio", City = "Seattle", BirthDate = Convert.ToDateTime("1948-12-08") }); employees.Add(new Employees { Id = 2, Name = "Andrew.Fuller", City = "Tacoma", BirthDate = Convert.ToDateTime("1952-02-19") }); employees.Add(new Employees { Id = 3, Name = "Janet.Leverling", City = "Kirkland", BirthDate = Convert.ToDateTime("1963-08-30") }); employees.Add(new Employees { Id = 4, Name = "Margaret.Peacock", City = "Redmond", BirthDate = Convert.ToDateTime("1937-09-19") }); employees.Add(new Employees { Id = 5, Name = "Steven.Buchanan", City = "London", BirthDate = Convert.ToDateTime("1955-03-04") }); //如果找到與 match 定義的條件相匹配的第一個元素,則為該元素的從零開始的索引;否則為 -1 var emp = employees.FindIndex(e => e.Id ==3); Console.WriteLine("查到的索引為:" + emp); //2
FindLast(Predicate<T>) 搜索與指定謂詞所定義的條件相匹配的元素,並返回整個 List<T> 中的最后一個匹配元素。
使用方式同FindIndex
IndexOf(T) 搜索指定的對象,並返回整個 List<T> 中第一個匹配項的從零開始的索引
LastIndexOf(T) 搜索指定對象並返回整個 List<T> 中最后一個匹配項的從零開始索引。