【发布时间】:2013-03-14 05:10:00
【问题描述】:
在 Delphi 中有 Low() 和 High() 函数,它们返回数组的最低和最高索引维度。这有助于消除容易出错的 for 循环,因为迭代数组可能会成为潜在的 +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# 中是否有等效于 High/Low 的方法?
【问题讨论】:
标签: c# arrays delphi iteration dimensions