【发布时间】:2009-08-27 13:50:30
【问题描述】:
过去,在 C 和 C++ 领域,如果在紧密循环中执行,嵌套指针取消引用被一些人认为是一项相对昂贵的操作。
你不想被抓住:
for (int i = 0; i < 10000000; i++)
{
j->k->l->m->n->o->p->dosomeworknowthatwereherewhynoteh();
}
因为您可能会损失宝贵的毫秒数。 (是的,我在有点讽刺!)
进入 .NET 世界...
这个更贵吗
System.Runtime.InteropServices.Marshal.WriteInt32(Abort, 1)
比这个?
Imports System.Runtime.InteropServices.Marshal
.
.
.
WriteInt32(Abort, 1)
【问题讨论】:
-
这不是真正的答案,所以我将其添加为评论。正如您所指出的,您可以做的是编写两个相同的程序,除了 Imports。分别编译,然后查看IL反汇编,并注意和区别。这是最终证明您的理由的一种重要方式。