我在理解一些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
。)我不确定我是否正确理解这一点,或者我的假设是完全错误的
答案 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=...
已存在