F#是否与C#的"不安全"块具有相同的语法

Yin*_*Zhu 9 .net c# arrays f#

大量的阵列边界检查会降低速度,对于2D阵列尤其如此.有没有办法在F#中编写不安全的代码块?

Jon*_*röm 9

我不是F#程序员,但据我所知它似乎没有不安全的关键字.

通过将2D阵列转换为一维阵列,可以提高性能.

建议5:在我们做到这一点之前,我建议.NET用户做许多C++数值程序员所做的事情:编写一个类来实现你的n维数组.这将表示为一维数组,并且相关的访问器将通过适当的乘法将n个索引转换为1.我们几乎肯定不会消除1-d数组的边界检查,但至少我们只做一次检查!

数组边界检查CLR中的消除