Delegate thực sự là tên của một biến chứa tham chiếu đến một phương thức hoặc lambda, và lambda là một phương thức không có tên cố định.
delegate Int32 BinaryIntOp(Int32 x, Int32 y);
Lambda rất giống các phương thức khác, ngoại trừ một vài khác biệt nhỏ:
Một phương thức bình thường được định nghĩa trong một "statement" và gắn với một tên cố định, trong khi một lambda được định nghĩa trong một "biểu thức" và không có tên cố định.
Lambda có thể được sử dụng với cây biểu thức .NET, trong khi các phương thức thì không thể.