【发布时间】:2010-09-10 06:32:31
【问题描述】:
有人可以举例说明在 C# 代码中实际使用“不安全”和“固定”的好时机吗?我以前玩过它,但从未真正找到它的好用处。
考虑这段代码...
fixed (byte* pSrc = src, pDst = dst) {
//Code that copies the bytes in a loop
}
相比于简单地使用...
Array.Copy(source, target, source.Length);
第二个是在.NET Framework中找到的代码,第一部分是从微软网站http://msdn.microsoft.com/en-us/library/28k1s2k6(VS.80).aspx复制的代码。
内置的 Array.Copy() 比使用不安全代码快得多。这可能只是因为第二个写得更好,第一个只是一个例子,但是你真的需要在什么情况下使用不安全/固定代码?还是这个可怜的 Web 开发人员在搞乱他头上的事情?
【问题讨论】: