【发布时间】:2014-06-01 17:37:19
【问题描述】:
我有以下代码:
Func<string, string> func1 = (param) =>
{
Console.WriteLine("Func 1 executing");
return "Hello" + param;
};
Func<string, string> func2 = (param) =>
{
Console.WriteLine("Func 2 executing");
return "World" + param;
};
Func<string, string> funcSum = func1 + func2;
string funcResult = funcSum("!");
Console.WriteLine(funcResult);
输出是:
Func 1 executing
Func 2 executing
World!
求和:
Func<string, string> funcSum = func2 + func1;
给出输出:
Func 2 executing
Func 1 executing
Hello!
我的初始测试是使用布尔返回类型完成的,返回值也始终由最后一个函数确定。它是否按预期工作?我们不会丢失其他函数的返回值吗?如果是这样,在现实世界中是否有这些多播功能委托的用例?
【问题讨论】: