在不安全的上下文中,我有一些看起来像这样的代码:
ValidatePartialOperation(array, startingOffset, runLength);
fixed (double* _op = array)
{
double* op = _op + startingOffset;
callSomething(op, runLength);
}
我把那个副本+粘贴在几个不同的地方。但我讨厌在多个地方进行这种验证和指针运算,所以我想将逻辑组合成一行,如下所示:
double* op = preCall(array, startingOffset, runLength);
callSomething(op, runLength);
postCall(array);
甚至更好:
using (double* op = preCall(array, startingOffset, runLength))
{
callSomething(op, runLength);
}
但无论发生什么,我都不能承受“固定”版本的性能损失。
我现在的计划是模仿固定语句在做什么,但我实际上并不知道那是什么。大概是一些带有固定操作的 try-catch 块?