你能在C#中为一个变量赋一个函数吗?
我看到一个函数可以在javascript中定义
var square = function(number) {return number * number};
并且可以被称为
square(2); var factorial = function fac(n) {return n<3 ? n : n*fac(n-1)}; print(factorial(3));
c#代码
MyDelegate writeMessage = delegate () { Console.WriteLine("I'm called"); };
所以我需要知道我可以在c#中以相同的方式定义一个函数。 如果是,那么只需在c#中给出一小段上面的函数定义。 谢谢。
您可以创建委托类型声明:
delegate int del(int number);
然后分配并使用它:
del square = delegate(int x) { return x * x; }; int result= square (5);
或者如上所述,您可以使用代理的“快捷方式”(由委托制作)并使用:
Func<[inputType], [outputType]> [methodName]= [inputValue]=>[returnValue]
例如:
Func
int result=square(5);
您还有两个其他快捷方式:
没有参数的Func
: Func
带有两个参数的Func
: Func
Func square = x => x * x; Func factorial = n => { return n < 3 ? n : n * fac(n-1); }
任何这些更详细的forms也是可能的:(我使用square
作为例子):
PS: int
可能不是像factorial
这样的方法的适当返回类型。 以上示例仅用于演示语法 ,因此请根据需要进行修改。
上述就是C#学习教程:你能在C#中为一个变量赋一个函数吗?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1026273.html