Делегати можна порівнювати на рівність і нерівність. Два делегати рівні, якщо вони обидва не містять посилань на методи або якщо вони містять посилання на одні і ті ж методи в одному і тому ж порядку. Порівнювати можна навіть делегати різних типів за умови, що вони мають один і той же тип повертаємого значення і однакові списки параметрів.
Делегати, які розрізняються тільки іменами, вважаються за тих, які мають різні типи.
З делегатами одного типу можна виконувати операції простого і складного привласнення, наприклад:
Del d1 = new Del (o1.Do): // o1.Do
Del d2 = new Del (o2.Do); // o2.Do
Del d3 = d1 + d2; // ol.Do і o2.Do
d3 += d1; // ol.Do. o2.Do і ol.Do
d3 -= d2; // o1.Do і ol.Do
Ці операції можуть знадобитися, наприклад, в тому випадку, якщо в різних обставинах потрібно викликати різні набори і комбінації наборів методів.
Делегат, як і рядок string, є незмінним типом даних, тому при будь-якій зміні створюється новий екземпляр, а старий згодом видаляється складальником сміття.