问题描述
我正在研究C#项目,我想使用一个匿名方法或函数来将值返回给变量。
我尝试过这个:
byte[] V;
V= new byte[]()
{
//Some code here
return new byte[]{0,1,2,3};
}
我只是想知道如何使用匿名方法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,3}; } V = MyLocalFunction(); }
-
带有名称的普通私有方法
我个人最喜欢3,因为您的名字清楚地描述了该方法应该执行的操作。 2也有一个名称,实际上它会在您的类中编译为私有静态方法,因此它似乎也很合适。 1只是使您的代码难以理解和阅读。有很多用处,但是在大多数情况下,我不建议使用。
因此,如果您认为成员中应该以某种方式提取某些逻辑,请给它起一个名字。这样,您以后可以根据需要轻松地将其提取到另一个类。