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

推荐答案

因为接口应该易于实现,并且不包含"除了厨房以外的所有东西".如果你加AddRange,你应该加InsertRangeRemoveRange(对称).更好的问题是,为什么IList<T>接口没有类似于IEnumerable<T>接口的扩展方法.(适用于SortBinarySearch……的扩展方法将非常有用)

.net相关问答推荐

升级到.NET8后,SignalR(在坞站容器上)网关损坏

AsyncLocal 的语义与逻辑调用上下文有何不同?

xunit Assert.ThrowsAsync() 不能正常工作?

如何获取控制台应用程序的执行目录

一种消耗(所有字节)BinaryReader 的优雅方式?

使用泛型装箱和拆箱

找不到 Microsoft.Office.Interop Visual Studio

无法加载文件或程序集WebGrease,版本=1.5.1.25624,Culture=neutral,PublicKeyToken=31bf3856ad364e35或其依赖项之一

如何将自定义 UserControl 显示为对话框?

C# 中的 myCustomer.GetType() 和 typeof(Customer) 有什么区别?

如何结合 ||条件语句中的运算符

如何根据默认样式创建样式?

返回 IList 是否比返回 T[] 或 List 更糟糕?

我应该绑定到 ICollectionView 还是 ObservableCollection

如何知道 DateTime 是否在 C# 中的 DateRange 之间

如何在 Dapper.Net 中编写一对多查询?

如何使用 NPOI 读取文件

如何判断uri字符串是否有效

Windows 服务在哪个目录中运行?

多个列表与 IEnumerable.Intersect() 的交集