gpt4 book ai didi

c# - TakeWhile,至少n个元素

转载 作者:行者123 更新时间:2023-12-01 12:31:38 27 4
gpt4 key购买 nike

似乎没有 e.TakeWhile(predicate, atLeastNElements) 重载。有没有一种方便的方式来表达TakeWhile,但是,如果有>= N个元素可用的话,至少要取N个元素。?

编辑:我想到的最好办法是在 TakeWhile 的谓词中捕获一个 int,并在返回 true 时每次调用将其减一。实际谓词仅在计数器降为零后才使用。

最佳答案

您可以对 TakeWhile 使用当前元素的索引重载:

var e = new [] { 1, 2, 3, 4, 5 };
var n = 3; // at least n
e.TakeWhile((element, index) => index < n || predicate(element));

关于c# - TakeWhile,至少n个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33757692/

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