C#:Func <>而不是方法?

前端之家收集整理的这篇文章主要介绍了C#:Func <>而不是方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Func Delegate vs Function6
这是一个好奇的问题,你们都知道:

使用Func而不是方法有什么损害/缺点吗?简单的例子:

private static Func<int,int,DBContext,List<T>> Foo =
    (i1,i2,dbc) =>
        (i1 != 0) ? dbc.Bar(i2) : new List<T> { /*some default values ...*/ };

VS

private static List<T> Foo(int i1,int i2,DBContext dbc)
{
    return i1 != 0 ? dbc.Bar(i2) : new List<T> { /*some default values ...*/ };
}

解决方法

我看到严重的缺点:

>性能影响(代表vs方法) – 很小,但它在那里
>没有参数名称(伤害可调性调用)
>定义本身不太可读
>无法重载(谢谢xanatos)

因为你没有获得任何东西,我只会在本地和小的上下文中,并喜欢静态方法

猜你在找的C#相关文章