gpt4 book ai didi

linq - 是否有等效于 Enumerable.DefaultIfEmpty 的 F#?

转载 作者:行者123 更新时间:2023-12-04 22:05:06 25 4
gpt4 key购买 nike

搜索了很多之后,我找不到 F# 等效的 Enumerable.DefaultIfEmpty .

F# 中是否存在类似的东西(也许以不同的惯用方式)?

最佳答案

为了保持序列的惰性,我们可以使用枚举器的状态。

let DefaultIfEmpty (l:'t seq) (d:'t) = 
seq{
use en = l.GetEnumerator()
if en.MoveNext() then
yield en.Current
while en.MoveNext() do
yield en.Current
else
yield d }

关于linq - 是否有等效于 Enumerable.DefaultIfEmpty 的 F#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21547737/

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