创建匿名方法,将 returns 值赋给变量
Create Anonymous Method that returns a value to a variable
我正在开发一个 C# 项目,我想使用一个匿名方法或函数 returns 一个变量的值。
我试过了:
byte[] V;
V= new byte[]()
{
//Some code here
return new byte[]{0,1,2,3};
}
但是我遇到了错误
如何使用匿名方法或函数将值 returns 赋给 V 变量?
我只想知道如何使用匿名方法将 returns 值赋给变量。
有几个机会,各有优缺点。
一个代表
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 也有一个名称,实际上在您的 class 中编译为私有静态方法,因此它看起来也很合适。 1 只会让您的代码难以理解和阅读。有 use-caes,但在大多数情况下我不建议使用它。
因此,如果您认为某个成员中的某些逻辑应该以某种方式提取,您可以给它起一个名字。这样你以后可以很容易地将它提取到另一个class,如果你需要的话。
我正在开发一个 C# 项目,我想使用一个匿名方法或函数 returns 一个变量的值。
我试过了:
byte[] V;
V= new byte[]()
{
//Some code here
return new byte[]{0,1,2,3};
}
但是我遇到了错误
如何使用匿名方法或函数将值 returns 赋给 V 变量?
我只想知道如何使用匿名方法将 returns 值赋给变量。
有几个机会,各有优缺点。
一个代表
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 也有一个名称,实际上在您的 class 中编译为私有静态方法,因此它看起来也很合适。 1 只会让您的代码难以理解和阅读。有 use-caes,但在大多数情况下我不建议使用它。
因此,如果您认为某个成员中的某些逻辑应该以某种方式提取,您可以给它起一个名字。这样你以后可以很容易地将它提取到另一个class,如果你需要的话。