Зачем надо делегаты?
Например: https://qna.habr.com/q/1201718#answer_2227658
Вот еще из доки: https://learn.microsoft.com/en-us/dotnet/api/syste... https://learn.microsoft.com/en-us/dotnet/api/syste...
Еще, например, делегаты нужны для событий, для лямбда функций и многих разных полезных вещей.
up подробно тут https://metanit.com/sharp/tutorial/3.13.php

ну например вот для этого, один из вопросов на собеседовании
.
не изменяя класса найдите площадь круга

Vladimir Korotenko, [9/20/2022 8:09 PM]
Привет Евгений. Кстати передайте вашему коллеге собеседующему меня несколько исправленный код. Основной смысл в том что в классе нет инициализатора

Vladimir Korotenko, [9/20/2022 8:09 PM]
public void PiR()
        {
            var x = new Circle();
            var t = x.Calculate((aa)=> aa * aa * Math.PI);
        }




        public sealed class Circle
        {
            private double radius=10;

            public double Calculate(Func<double, double> op)
            {
                return op(radius);
            }
        }