如何在不安全的 C# 代码中获取指向可变数量数组的指针

随机地

如果我有一个预先知道数组长度的 double[,] 对象数组,那么我可以像这样设置一个指向 double[,] 对象的指针数组:

int NumMatrices = 3;
double[][,] VectorOfMatrix = new double[NumMatrices][, ];
for (int i = 0; i < VectorOfMatrix.Length; i++) VectorOfMatrix[i] = new double[10, 10];
unsafe {
    fixed (double* fpM0 = VectorOfMatrix[0], fpM1 = VectorOfMatrix[1], fpM2 = VectorOfMatrix[2]) {
        double** ppMatrix = stackalloc double*[3];
        ppMatrix[0] = fpM0;
        ppMatrix[1] = fpM1;
        ppMatrix[2] = fpM2;
        ...
    }
}

但是如果事先不知道数组的长度,那么等价的事情怎么做呢?

马克·格拉维尔

最终,你不能。它是“本地”上的一个标记,它从 JIT 的角度定义了某些东西fixed,因此每个元素需要一个“本地” fixed,并且本地的数量是在编译时确定的,而不是运行时。

怀疑fixed当你需要一个单独的内部数组时,你会需要一个本地范围的调用站点 - 但这不是很成问题:fixed是一种非常便宜的固定方式(它实际上只是堆栈上的一个引用副本,具有JIT 从上下文中知道它的意思是“固定”)

也就是说:我怀疑你也可以在这里使用跨度,并绕过整个使用fixed或指针的需要

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在golang中从不安全的数组创建数组或切片?

来自分类Java

如何在Spring Security OAuth中修复不安全的jwt-set-uri?

来自分类Dev

如何在Swift中分配/释放不安全的指针?

来自分类Dev

如何在安全上下文中使用不安全代码?

来自分类Dev

获取C#中KeyValuePair <DateTime,decimal>数组的不安全指针

来自分类Dev

如何在Chrome中为不安全来源启用crypto.subtle?

来自分类Dev

c指针减量安全/不安全?

来自分类Dev

如何在“ Visual Studio代码”中运行不安全的代码?

来自分类Dev

局部静态变量如何在C中不安全?

来自分类Dev

如何在iOS中执行不安全的URLSession查询

来自分类Dev

在C ++中检测不安全的const引用绑定

来自分类Dev

如何在Swift中的不安全指针上调用变异方法?

来自分类Dev

C#中的不安全结构

来自分类Dev

如何在VS2012中编译不安全的代码

来自分类Dev

删除C#不安全指针

来自分类Dev

如何使用C#中的不安全指针解决错误?

来自分类Dev

如何在iframe中显示不安全的内容

来自分类Dev

如何从字符串中删除不安全字符以登录C#

来自分类Dev

如何在Linux上的Chromium中阻止HTTPS页面上的不安全图像?

来自分类Dev

如何在Firefox 39+中接受不安全的连接?

来自分类Dev

使用AVAudioPCMBuffer将浮点值写入C#中的浮点指针数组(不安全或安全)

来自分类Dev

在C#中使不安全代码安全

来自分类Dev

不安全的C#-将不安全的指针传递给方法

来自分类Dev

如何在不安全的情况下正确封送C#中的非托管数组

来自分类Dev

是否管理C#不安全代码?

来自分类Dev

在 Swift 中使用 C 库获取不安全的指针

来自分类Dev

C# 获取数组长度技巧(不安全)

来自分类Dev

如何在 mac 中以不安全模式启动 chrome?

来自分类Dev

如何获取 c# 不安全结构的 IntPtr 以释放其在 c++ dll 中初始化的内存

Related 相关文章

  1. 1

    如何在golang中从不安全的数组创建数组或切片?

  2. 2

    如何在Spring Security OAuth中修复不安全的jwt-set-uri?

  3. 3

    如何在Swift中分配/释放不安全的指针?

  4. 4

    如何在安全上下文中使用不安全代码?

  5. 5

    获取C#中KeyValuePair <DateTime,decimal>数组的不安全指针

  6. 6

    如何在Chrome中为不安全来源启用crypto.subtle?

  7. 7

    c指针减量安全/不安全?

  8. 8

    如何在“ Visual Studio代码”中运行不安全的代码?

  9. 9

    局部静态变量如何在C中不安全?

  10. 10

    如何在iOS中执行不安全的URLSession查询

  11. 11

    在C ++中检测不安全的const引用绑定

  12. 12

    如何在Swift中的不安全指针上调用变异方法?

  13. 13

    C#中的不安全结构

  14. 14

    如何在VS2012中编译不安全的代码

  15. 15

    删除C#不安全指针

  16. 16

    如何使用C#中的不安全指针解决错误?

  17. 17

    如何在iframe中显示不安全的内容

  18. 18

    如何从字符串中删除不安全字符以登录C#

  19. 19

    如何在Linux上的Chromium中阻止HTTPS页面上的不安全图像?

  20. 20

    如何在Firefox 39+中接受不安全的连接?

  21. 21

    使用AVAudioPCMBuffer将浮点值写入C#中的浮点指针数组(不安全或安全)

  22. 22

    在C#中使不安全代码安全

  23. 23

    不安全的C#-将不安全的指针传递给方法

  24. 24

    如何在不安全的情况下正确封送C#中的非托管数组

  25. 25

    是否管理C#不安全代码?

  26. 26

    在 Swift 中使用 C 库获取不安全的指针

  27. 27

    C# 获取数组长度技巧(不安全)

  28. 28

    如何在 mac 中以不安全模式启动 chrome?

  29. 29

    如何获取 c# 不安全结构的 IntPtr 以释放其在 c++ dll 中初始化的内存

热门标签

归档