创建向变量返回值的匿名方法



我正在处理一个C#项目,我想使用一个匿名的方法或函数,它会向变量返回一个值。

我试过这个:

byte[] V;
V= new byte[]()
{
//Some code here
return new byte[]{0,1,2,3};

}

但是我有错误

如何使用匿名方法或函数向V变量返回值?

我只想知道如何使用匿名方法tat向变量返回值。

有几个机会,都有自己的优势和劣势。

  1. 代理

    byte[] V;
    V= new Func<byte[]>(() => ()
    {
    //Some code here
    return new byte[]{0,1,2,3};    
    }();
    
  2. 本地函数

    void DoSomething()
    {
    byte[] V;
    byte[]MyLocalFunction()
    {
    //Some code here
    return new byte[]{0,1,2,3};
    }
    V = MyLocalFunction();
    }
    
  3. 名为的普通私有方法

就我个人而言,我最喜欢3,因为你有一个明确描述方法应该做什么的名称。2也有一个名称,事实上它在你的类中编译为一个私有静态方法,所以它看起来也很合适。1只是使您的代码更易于理解和阅读。有这样的用法,但在大多数情况下,我不会建议使用它

因此,如果你认为一个成员中有一些逻辑应该以某种方式提取,你就给它一个名字。这样,如果需要的话,你可以很容易地将其提取到另一个类中

最新更新