我是 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));
1 回答

慕丝7291255
TA贡献1859条经验 获得超6个赞
您可以Func在 C#中使用
Func<SomeObject, string, bool> predicate = (someObject, someId) =>
{
if (someId.StartsWith("someText"))
{
// some logic
return booleanResult;
}
return anotherBooleanResult;
};
最后一个泛型参数是返回类型,所有其他参数都是传递给方法的参数类型。这也适用于超过 2 个参数。
添加回答
举报
0/150
提交
取消