gpt4 book ai didi

linq - 类似于 LINQ 的 DefaultIfEmpty 和 FirstOrDefault 的 Groovy 方法

转载 作者:行者123 更新时间:2023-12-01 02:36:08 24 4
gpt4 key购买 nike

Groovy 是否有任何方法(开箱即用)类似于 LINQ 中的 DefaultIfEmpty 或 FirstOrDefault 方法?

最佳答案

DefaultIfEmpty可以覆盖:

def list = []
def defaultIfEmpty = list ?: [ 'was empty' ]
FirstOrDefault比较棘手,因为我相信如果列表中没有第一个元素,它会返回给定类型的默认值......但是,在 Groovy 中(就目前而言),没有办法检测对象的默认类型(除非它是 native 类型)

你可以这样做:
Integer defaultIfEmpty = list[ 0 ] ?: 0

然而应该注意的是 elvis operator ?:工作于 Groovy truth ,因此如果运算符左侧的元素在 Groovy 中的计算结果为 false(无论是 null、空列表还是字符串、数字 0 等),它将返回右侧)

还要注意的是,我不是.NET专家,所以可能对这两个函数的功能有误。

关于linq - 类似于 LINQ 的 DefaultIfEmpty 和 FirstOrDefault 的 Groovy 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10225658/

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