今天我遇到了一种语言行为,让我感到意外。现在我很想知道原因。请看以下示例:
try
{
worksheet.AddCell(row, cell++, image.DisplayCaption());
}
catch (NullReferenceException)
{
cell++;
throw;
}
在我的例子中,
image
是空的,导致这一行抛出了一个 NullReferenceException
; 然而,cell
仍然被递增了,当然,在 catch 块中它又被递增了。为什么第一个后置递增操作被执行了呢?此外,如果 worksheet
是空的,它会被执行吗?谢谢,Pete
cell
被增加了两次。 - slypete