Tra*_*uer 2 c# list readonly binary-search
问题:当我的节目明星我创建一个List<myClass> myList并用对象填充它.这些对象是使用文件中的日期创建的.之后,我不想更改该列表,也不想再次访问这些文件.但我需要在很多类/方法中访问该List
我提出的解决方案:List<myClass> myList在静态类中创建私有,并使用我的静态类的构造函数填充它,并仅使用返回myList.AsReadOnly()的属性访问它.这样我就无法改变实际的清单.但是AsReadOnly的回归是一个IList,对吧?我在MSDN上检查IList并且没有BinarySearch方法......这会使整个事情变得非常缓慢.
我该如何解决这个问题?复制IList返回正常列表,以便我可以排序和BinarySearch吗?或者可能更改整个"myList.AsReadOnly()"方法?我愿意接受各种建议和方法^^改变整个代码不是问题.
编辑:
如果您使用的是.Net的更高版本,而不是使用AsReadOnly(),请使用ImmutableList<T>.它一旦创建就无法修改,但具有BinarySearch()您正在寻找的方法.如果要细分列表或从多个线程访问列表,它也可能更有效.
| 归档时间: |
|
| 查看次数: |
510 次 |
| 最近记录: |