gpt4 book ai didi

c# - LINQ 设计好奇心 : Skip/Take vs. SkipWhile/TakeWhile

转载 作者:行者123 更新时间:2023-11-30 19:27:06 25 4
gpt4 key购买 nike

是否有任何特殊原因需要单独的方法 SkipSkipWhile ,而不是简单地重载相同的方法?

我的意思是,而不是Skip(int) , SkipWhile(Func<TSource,bool>) , 和 SkipWhile(Func<TSource,int,bool>) , 为什么没有 Skip(int) , Skip(Func<TSource,bool>) , 和 Skip(Func<TSource,int,bool>) ?我敢肯定这是有一些原因的,因为整个 LINQ 系统是由比我更有经验的人设计的,但这种推理并不明显。

我想到的唯一可能性是类 SQL 语法的解析器存在问题,但这已经区分了 Select(Func<TSource,TResult>) 之类的东西。和 Select(Func<TSource,int,TResult>) ,所以我怀疑这就是原因。

同样的问题适用于TakeTakeWhile , 这是对上述内容的补充。

编辑:澄清一下,我知道变体之间的功能差异,我只是询问有关方法命名的设计决策。

最佳答案

IMO,唯一的原因是更好的可读性Skip 听起来像“跳过 N 条记录”,而 SkipWhile 听起来像“跳过直到满足条件”。这些名称不言自明

关于c# - LINQ 设计好奇心 : Skip/Take vs. SkipWhile/TakeWhile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19637202/

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