我有一个只接受专有的不可变集合类型的库.我希望有一个函数接受其中一个集合,并通过返回包含所做更改的新集合对此集合执行一些更改.
我想使用LINQ语法而不是将此集合复制到List并返回.
添加操作对我来说很容易:将可枚举与另一个连接起来.但是如何替换(在给定的索引处,返回给定的值而不是IEnumerable的值),Insert(在给定索引处,返回给定值然后继续迭代IEnumerable)或Delete(在给定索引处,跳过IEnumerable的值) )?
.NET框架或其他库中是否提供此类功能?如果没有,我将如何实现这些功能?
我看到该类System.Drawing.Rectangle有两组属性:
X, Y, Width,HeightLeft, Top, Right,BottomWidth和之间的区别Right是显而易见的。Left但我不明白和属性背后的推理Top。
X这些可以与和 一起互换使用Y,还是我遗漏了一些明显的东西?有什么时候应该使用哪个的约定吗?