理解c#委托函数<…>操作符

本文关键字:操作符 函数 理解 | 更新日期: 2023-09-27 18:06:47

我在理解一些c#函数<>操作符,例如,我们有以下代码片段:

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。)我不确定我是否理解正确,还是我的假设完全错误。

理解c#委托函数<…>操作符

为了更清楚,您可以解释

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

作为(考虑到你的问题中提供的定义):

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

注意returns在那里是因为d=...