gpt4 book ai didi

java - C# 中的 BiPredicate 模拟

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

我是 Java 工程师,需要编写从 Java 到 C# 的相同解决方案。现在我必须重写这个示例:

private static final BiPredicate<SomeObject, String> predicate = 
(someObject, someId) -> {
if (someId.startsWith("someText")) {
// some logic
return booleanResult;
}
return anotherBooleanResult;
};

BiPredicate 是一个函数式接口(interface),它有一个方法接受两个对象并根据实现返回 boolean 结果,它相对于常规方法的主要优点是它可以在 Java Stream 中使用,如下所示:

someList.stream().filter(someObject => predicate.test(someObject, someId));

最佳答案

您可以在 C# 中使用 Func

Func<SomeObject, string, bool> predicate = (someObject, someId) =>
{
if (someId.StartsWith("someText"))
{
// some logic
return booleanResult;
}
return anotherBooleanResult;
};

最后一个泛型参数是返回类型,所有其他参数都是传递给方法的参数类型。这也适用于超过 2 个参数。

关于java - C# 中的 BiPredicate 模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54942309/

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