我有以下代码扫描2D数组逐行
for (int i = 0; i < rows; ++i)
{
for (int j = 0; j < cols; ++j)
{
// Code here that scans a 2D array using i & j as the indices
}
}
接下来是另一组循环,按列扫描相同的数组列
for (int j = 0; j < cols; ++j)
{
for (int i = 0; i < rows; ++i)
{
// Code that is a near duplicate of the code in the previous set of loops
}
}
上面两组循环中的代码几乎相同。有什么方法可以删除重复吗?我宁愿不将代码移动到一个单独的函数中,因为这个代码将经常在一个相当大的数组上运行,而AFAIK也没有办法在C#中强制内联。
答案 0 :(得分:0)
您可能对方法
上的AggressiveInlining选项感兴趣[MethodImpl(MethodImplOptions.AggressiveInlining)]
void Method2()
{
// ... Aggressive inlining.
}