delegate เป็น reference ที่ปลอดภัยด้านชนิดซึ่งชี้ไปยัง method (เหมือน function pointer) — มันให้คุณจัดการ method เป็นข้อมูล: เก็บไว้ ส่งเป็น argument และเรียกใช้ ส่วน event เป็น pattern ที่สร้างบน delegate สำหรับโมเดล publish-subscribe (observer) ทั้งสองเป็นรากฐานของ callback, LINQ และการเขียนโปรแกรมเชิงเหตุการณ์ใน C#
delegate — method เป็นค่า
;
Operation = (a, b) => a + b;
Operation multiply = (a, b) => a * b;
result = (, );
=> op(x, y);
Apply(multiply, , );
