我正在处理一个C#项目,我想使用一个匿名的方法或函数,它会向变量返回一个值。
我试过这个:
byte[] V;
V= new byte[]()
{
//Some code here
return new byte[]{0,1,2,3};
}
但是我有错误
如何使用匿名方法或函数向V变量返回值?
我只想知道如何使用匿名方法tat向变量返回值。
有几个机会,都有自己的优势和劣势。
-
代理
byte[] V; V= new Func<byte[]>(() => () { //Some code here return new byte[]{0,1,2,3}; }();
-
本地函数
void DoSomething() { byte[] V; byte[]MyLocalFunction() { //Some code here return new byte[]{0,1,2,3}; } V = MyLocalFunction(); }
-
名为的普通私有方法
就我个人而言,我最喜欢3,因为你有一个明确描述方法应该做什么的名称。2也有一个名称,事实上它在你的类中编译为一个私有静态方法,所以它看起来也很合适。1只是使您的代码更易于理解和阅读。有这样的用法,但在大多数情况下,我不会建议使用它
因此,如果你认为一个成员中有一些逻辑应该以某种方式提取,你就给它一个名字。这样,如果需要的话,你可以很容易地将其提取到另一个类中