Moh*_*oud 10 c# java arraylist
如何ArrayList以1而不是0 开始索引?有没有办法直接在代码中执行此操作?
(注意,我要求ArrayList,对于普通数组,请参阅在c#中的任意起始索引上初始化数组)
这样做的一个合理理由是编写单元测试.某些第三方SDK(例如Excel COM interop)希望您使用具有基于一个索引的数组.如果您正在使用此类SDK,则可以并且应该在C#测试框架中存根此功能.
以下应该有效:
object[,] comInteropArray = Array.CreateInstance(
typeof(object),
new int[] { 3, 5 },
new int[] { 1, 1 }) as object[,];
System.Diagnostics.Debug.Assert(
1 == comInteropArray.GetLowerBound(0),
"Does it look like a COM interop array?");
System.Diagnostics.Debug.Assert(
1 == comInteropArray.GetLowerBound(1),
"Does it still look like a COM interop array?");
Run Code Online (Sandbox Code Playgroud)
我不知道是否可以将其转换为标准的C#样式数组.可能不是.我也不知道对这种数组的初始值进行硬编码的简洁方法,除了循环以从具有硬编码初始值的标准C#数组中复制它们.在测试代码中,这些缺点都不应该是一个大问题.
| 归档时间: |
|
| 查看次数: |
29283 次 |
| 最近记录: |