我正在做一些统计工作,并想重构以下方法:
public static blah(float[] array)
{
//Do something over array, sum it for example.
}
但是,我不想使用 float[],而是想使用某种索引可枚举(例如,使用从磁盘动态加载非常大的数组)。我创建了一个简单的界面,并想使用它。
public interface IArray<T> : IEnumerable<T>
{
T this[int j] { get; set; }
int Length { get; }
}
我的问题是:
- float[] 只继承 IList,而不是 IArray,而且 AFAIK 没有办法改变它。
- 我想放弃 IArray 并且只使用 IList,但是我的类需要实现许多方法,例如
Add
,RemoveAt
尽管它们是固定大小的 - 然后我的问题是:float[] 在没有这些方法的情况下如何实现 IList?
欢迎任何帮助。干杯