Chủ Nhật, 22 tháng 7, 2012

Tìm kiếm trong danh sách hoặc mảng sử dụng LINQ query

Biết cách sử dụng LINQ query là một lợi thế lớn trong lập trình .NET, sử dụng nhanh chóng, cách viết câu query khá giống và quen thuộc với cách viết T-SQL.

Tìm kiếm trong danh sách:
  1. List<int> list = new List<int>();  
  2. list.Add(1);  
  3. list.Add(2);  
  4. list.Add(2);  
  5. list.Add(3);  
  6. list.Add(4);  
  7. list.Add(5);  
  8.   
  9. // lấy ra trong danh sách những phần tử >2  
  10. List<int> result = (from item in list where item > 2 select item).ToList();  
  11.   
  12. // lấy giá trị đầu tiên  
  13. int first = (from item in list where item > 2 select item).First();  
Tìm kiếm trong mảng:
  1. int[] arr = new int[] { 1, 2, 2, 3, 4, 5 };  
  2.   
  3. // lấy ra trong danh sách những phần tử >2  
  4. int[] result = (from item in arr where item > 2 select item).ToArray();  
  5.   
  6. // lấy giá trị đầu tiên  
  7. int first = (from item in arr where item > 2 select item).First();  
Một ví dụ sử dụng class:
  1. class Person  
  2. {  
  3.     public string Name { getset; }  
  4.     public int Age { getset; }  
  5.   
  6.     public Person(string name, int age)  
  7.     {  
  8.         Name = name;  
  9.         Age = age;  
  10.     }  
  11. }  
  1. List<Person> list = new List<Person>();  
  2. list.Add(new Person("Nguyễn Văn A",16));  
  3. list.Add(new Person("Nguyễn Văn B", 17));  
  4. list.Add(new Person("Nguyễn Văn C", 18));  
  5.   
  6. // tìm tuổi của Nguyễn Văn A  
  7. int age = (from person in list where person.Name == "Nguyễn Văn A" select person).First().Age;  
Chú ý: toán sử so sánh bằng vẫn là 2 dấu bằng '==' chứ không phải 1 dấu bằng như trong SQL đâu nhé.

Không có nhận xét nào :

Đăng nhận xét