gpt4 book ai didi

c# - 比较谓词

转载 作者:太空狗 更新时间:2023-10-30 01:03:38 26 4
gpt4 key购买 nike

我有一个谓词列表

public List<Func<Album, bool>> Predicates { get; set; }

我想检查一个列表是否包含特定的谓词。

我的做法是:

bool check = Predicates.Contains(x=>x.AlbumName == "Winter");

但是即使列表中有这样的谓词,它也总是返回 false。我认为这是因为谓词是匿名方法并且每个方法都是独一无二的,但仍然可以以某种方式比较它们吗?

最佳答案

恐怕答案基本上是“不”。如果您有表达式树而不是委托(delegate),那么您可以可能将它们与努力进行比较,但基本上您已经获得了对单独方法的引用。您需要检查方法内部的 IL 以比较它们是否相同。

当然,如果你有一组谓词对其进行操作的对象,你可以找出是否有任何谓词与你的“目标”谓词匹配相同的子集,但这与测试谓词是否是其实是一样的。

关于c# - 比较谓词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27378305/

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