如果只有一个方法还有必要用委托么?

在委托这个地方卡了很久,在网上也看了很多文章,基本上都是说的委托的语法,偶尔有介绍使用场景,但是还是一直没弄明白,总有点迷迷糊糊的,做技术就应该吧问题搞的明明白白,要不然还不如不搞,希望大家给讲解下这个问题。谢谢了
比如下面的代码

         static Func<int, int, int> CalculateHandler = (x, y) => x + y;

        static void Main(string[] args)
        {
            var result = CalculateHandler(5, 10);
            Console.WriteLine(result);
        }

直接写个方法不也是很简短么,而且还少了个变量

        static   int Calculate(int x, int y)
        {
            return x + y;
        }

也许你要说,以后你增加减法,除法更多的运算的时候可以复用...
我开头已经说了“只有一个方法的时候”

  • 如何取舍,是否需要委托,甚至于是否需要使用某个设计模式等,并不是语法上能解决的问题。你现在这样问谁也无法回答你。这个是根据业务来选择的。
  • 举个例子来说。
  • 与一个设备通过TCPIP连接。设备每次回返回当时的交易内容。由于只有一个类型的数据包需要进行解析,因此就直接写了。
  • 随后发现需要获得设备的状态,于是重新定义了一个类型的数据包。现在两个包了,是否需要使用委托呢?还是直接if判断后分别解析?
  • 随着业务的发展,通讯使用到的数据包类型越来越多,这时候你肯定会觉得要使用委托了。
  • 那么现在反过来,你觉得在刚开始的时候,是否需要使用委托呢?

这只是举例**怎么做委托**,至于**要不要用委托**得你自己取舍,不是为了用委托而委托。

我就是想知道怎么取舍,特别是看到Lambda表达式的那些例子的时候更晕

 delegate int del(int i);
static void Main(string[] args)
{
    del myDelegate = x => x * x;
    int j = myDelegate(5); //j = 25
}

不是说的委托就是为了解耦么,本来应该是把运算提取出来作为一个方法,现在又写会到main方法中,这不是本末倒置么?

委托相当于C语言的函数指针。
常用于事件处理