本文介绍了为什么不IList的支持的AddRange的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

List.AddRange()存在,但 IList.AddRange()不。
这令我奇怪的。什么是这背后的原因是什么?

List.AddRange() exists, but IList.AddRange() doesn't.
This strikes me as odd. What's the reason behind this?

推荐答案

由于接口768,16容易实现,而不是含有一切,但厨房。如果添加的AddRange 你应该再加入 InsertRange RemoveRange (对称)。一个更好的问题是,为什么有对的IList&LT没有扩展方法; T> 界面类似于的IEnumerable< T> 接口。 (就地排序二分查找,...将是有益的扩展方法)

Because an interface shoud be easy to implement and not contain "everything but the kitchen". If you add AddRange you should then add InsertRange and RemoveRange (for symmetry). A better question would be why there aren't extension methods for the IList<T> interface similar to the IEnumerable<T> interface. (extension methods for in-place Sort, BinarySearch, ... would be useful)

这篇关于为什么不IList的支持的AddRange的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-22 05:08