猿问

C# 中的 BiPredicate 类比

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


private static final BiPredicate<SomeObject, String> predicate = 

    (someObject, someId) -> {

        if (someId.startsWith("someText")) {

            // some logic

            return booleanResult;

        }

        return anotherBooleanResult;

    };

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


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


MMTTMM
浏览 120回答 1
1回答

慕丝7291255

您可以Func在 C#中使用Func<SomeObject, string, bool> predicate = (someObject, someId) =>{&nbsp; if (someId.StartsWith("someText"))&nbsp; {&nbsp; &nbsp; &nbsp; // some logic&nbsp; &nbsp; &nbsp; return booleanResult;&nbsp; }&nbsp; return anotherBooleanResult;};最后一个泛型参数是返回类型,所有其他参数都是传递给方法的参数类型。这也适用于超过 2 个参数。
随时随地看视频慕课网APP

相关分类

Python
我要回答