在 Delphi 中有 Low() 和 High() 函数返回数组的最低和最高索引维度。这有助于消除迭代数组时容易出错的循环,该循环可能会成为潜在的 +1/-1 数组边界错误的牺牲品,例如在for 循环语句 中的终止条件中使用< =时。
这是 Low/High 函数的示例(在 Delphi 中):
for i := Low(ary) to High(ary) do
现在我在 C# 中使用一个简单的 for 循环语句:
for (int i = 0; i < ary.Length; i++)
我知道有 Array 方法GetDimension(N)但它有其自身的责任,因为我可能会因意外使用错误的维度索引而引入错误。我想我可以用枚举器做一些事情,但我担心与使用for 循环相比,扫描大型数组时会产生显着的性能成本。C# 中是否有等效于高/低的方法?