我想知道是否有人可以解释什么Func<int, string>
是以及如何使用一些清晰的示例。
您对代表总体了解吗?我有一个关于代表和活动 http://csharpindepth.com/Articles/Chapter2/Events.aspx如果没有的话,这可能会有所帮助,尽管它更适合解释两者之间的差异。
Func<T, TResult> http://msdn.microsoft.com/en-us/library/bb549151.aspx只是一个通用委托 - 通过替换来弄清楚它在任何特定情况下的含义类型参数 (T
and TResult
)与相应的类型参数 (int
and string
)在声明中。我还重命名了它以避免混淆:
string ExpandedFunc(int x)
换句话说,Func<int, string>
是一个代表一个函数的委托int
参数并返回string
.
Func<T, TResult>
经常在 LINQ 中用于投影和谓词(在后一种情况下,TResult
总是bool
)。例如,您可以使用Func<int, string>
将整数序列投影为字符串序列。Lambda 表达式通常在 LINQ 中使用来创建相关的委托:
Func<int, string> projection = x => "Value=" + x;
int[] values = { 3, 7, 10 };
var strings = values.Select(projection);
foreach (string s in strings)
{
Console.WriteLine(s);
}
Result:
Value=3
Value=7
Value=10
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)