class Program
{
static void Main(string[] args)
{
List names = new List();
names.Add("Dave");
names.Add("John");
names.Add("Abe");
names.Add("Barney");
names.Add("Chuck");
string abe = names.Find(IsAbe);
Console.WriteLine(abe);
}
public static bool IsAbe(string name)
{
return name.Equals("Abe");
}
}
Dùng so sánh chuỗi ký tự bên trong của một function phục vụ cho tìm kiếm.
class Program
{
static void Main(string[] args)
{
List names = new List();
names.Add("Dave");
names.Add("John");
names.Add("Abe");
names.Add("Barney");
names.Add("Chuck");
string abe = names.Find(delegate(string name)
{
return name.Equals("Abe");
});
Console.WriteLine(abe);
}
}
Các biểu thức Lambda :
Các biểu thức Lambda làm cho mọi việc dễ dàng hơn bằng cách cho phép bạn tránh được những phương pháp vô danh và khó chịu:
class Program
{
static void Main(string[] args)
{
List names = new List();
names.Add("Dave");
names.Add("John");
names.Add("Abe");
names.Add("Barney");
names.Add("Chuck");
string abe = names.Find((string name) => name.Equals("Abe"));
Console.WriteLine(abe);
}
}
Vì biểu thức Lambda đủ thông minh để suy ra các loại biến, tôi thậm chí không có để explicity đề cập đến tên một chuỗi ở trên. Tôi có thể loại bỏ nó để đơn giản hơn và viết nó như sau:
class Program
{
static void Main(string[] args)
{
List names = new List();
names.Add("Dave");
names.Add("John");
names.Add("Abe");
names.Add("Barney");
names.Add("Chuck");
string abe = names.Find(name => name.Equals("Abe"));
Console.WriteLine(abe);
}
}
Thường thì các nhà phát triển sẽ sử dụng 1 tên biến trong biểu thức Lambda chỉ để giữ cho mọi thứ gần gũi. Ở đây chúng ta thay thế tên p cho tất cả.
class Program
{
static void Main(string[] args)
{
List names = new List();
names.Add("Dave");
names.Add("John");
names.Add("Abe");
names.Add("Barney");
names.Add("Chuck");
string abe = names.Find(p => p.Equals("Abe"));
Console.WriteLine(abe);
}
}
DangTrung
Không có nhận xét nào:
Đăng nhận xét