bool?[,] logicTable = new bool?[width, height];
for (int i = 0; i < width; ++i)
for (int j = 0; j < height; j++)
if (logicTable?[i, j - 1] == true)
{...}
这时,我的索引超出范围异常(因为j-1给出-1)。这种表达是否可能:
logicTable?[i, j - 1]
如果其中一个索引值超出范围,是否可以快速返回空值?
答案 0 :(得分:2)
如果使用标准数组(如您的示例中),则不可能,因为它们始终为0索引,并且总是引发越界访问。
对于超出范围的情况,您可以创建自己的包装器,该包装器返回Preserve log upon navigation
,这可以通过自动提供sentinel values来简化某些算法:
null