gpt4 book ai didi

c# - 谓词何时适用以及最佳使用模式是什么

转载 作者:太空宇宙 更新时间:2023-11-03 22:17:10 24 4
gpt4 key购买 nike

什么时候谓词合适,什么是最好的使用模式?谓词的优点是什么?

在我看来,在大多数情况下,可以使用谓词的紧密循环会实现相同的功能?

鉴于您可能只会在一种方法中实现谓词,我没有看到可重用性参数,对吧?

它们看起来和感觉起来都不错,但除此之外,您似乎只有在需要快速破解集合类时才会使用它们?

更新

但是您为什么要一次又一次地重写紧密循环?

在我的脑海/代码中,当涉及到集合时,我总是以类似的方式结束

Class Person
End Class

Class PersonList
Inherits List(Of Person)

Function FindByName(Name) as Person
tight loop....
End Function
End Class

@阿尼

按照同样的逻辑,我可以实现这个方法

Class PersonList
Inherits List(Of Person)

Function FindByName(Name) as PersonList
End Function

Function FindByAge(Age) as PersonList
End Function

Function FindBySocialSecurityNumber(SocialSecurityNumber) as PersonList
End Function
End Class

这样调用它

Dim res as PersonList = MyList.FindByName("Max").FindByAge(25).FindBySocialSecurityNumber(1234)

结果连同代码量及其可重用性基本相同,不是吗?

我不是在争论,只是想理解。

最佳答案

谓词的主要好处之一是可组合性。例如,在我的自然语言项目中,我有从自然语言输入创建的复杂日期时间查询,例如“2010 年 5 月的每个星期四”成为通过组合一系列谓词创建的数据库查询。

谓词在与表达式结合时变得更加强大,因为处理可以推迟到运行时,甚至可能移交给其他系统执行(例如 Linq to Entities)。

谓词也是函数式编程的关键。

关于c# - 谓词何时适用以及最佳使用模式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4653877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com