単純に同じメソッドのオーバーロードを使用するのではなく、別々のメソッドSkip
とを使用する特定の理由はありますか?SkipWhile
つまり、、、およびの代わりに、、、およびSkip(int)
を使用SkipWhile(Func<TSource,bool>)
しSkipWhile(Func<TSource,int,bool>)
ないのはなぜですか? LINQ システム全体が私よりもはるかに多くの経験を持つ人々によって設計されたので、それには何らかの理由があると確信していますが、その理由は明らかではありません。Skip(int)
Skip(Func<TSource,bool>)
Skip(Func<TSource,int,bool>)
頭に浮かぶ唯一の可能性は、SQL に似た構文のパーサーの問題ですが、それはすでに と のようなものを区別しているSelect(Func<TSource,TResult>)
のでSelect(Func<TSource,int,TResult>)
、それが理由だとは思いません。
上記を補完するTake
とにも同じ質問が当てはまります。TakeWhile
編集:明確にするために、バリアント間の機能の違いを認識しています。メソッドの命名に関する設計上の決定について質問しているだけです。