下载C#delegate Func< ...>运营商

时间:2016-09-13 02:12:52

标签: c# function delegates

我在理解一些C#Func< ...>时遇到了一些麻烦。例如,运营商我们有以下代码段:

Func<int, bool> a = n => n <= 1;
Func<int, int> b = n => 10;
Func<int, int> c = n => { return n; };
Func<int, int> d = n => a(n)? b(n): n*c(n-1);
Console.WriteLine("{0} {1} {2}", d(1), d(2), d(3));

?:代表什么?是a(n)? b(n)代表一个条件? (例如,如果a(n)为假且b(n)具有值,则计算c(n)并将其返回为d。)我不确定我是否正确理解这一点,或者我的假设是完全错误的

1 个答案:

答案 0 :(得分:1)

为了更清楚,你可以解释

n => a(n)? b(n): n*c(n-1);

as(根据您提出的问题提供的定义):

if (n<=1)
    return 10; //b(n)
else
    return n*n-1; //n*c(n-1)=n*n

请注意,由于returns

d=...已存在