c# - 如何查看 C# 数组在内存中的放置方式?

标签 c# arrays multidimensional-array

我想看看 C# 数组是如何放置在计算机内存中的。

我想看到的主要是两列,第一列是地址,第二列是数组元素。可能吗?

我想从一维数组开始,然后我想观察多维数组的排列方式。

问题

如何通过 VisualStudio 查看它?

最佳答案

您可以使用 Visual Studio 调试器查看数组布局。一个简单的例子:

    static void Main(string[] args) {
        int[] arr = { 1, 2, 3 };
        Console.ReadLine();  // Breakpoint here
    }

使用项目 + 属性,构建选项卡,平台目标 = x86。在指示的行上设置一个断点,按 F5,当它命中时使用 Debug + Windows + Memory + Memory 1. 在地址框中键入 arr。右键单击窗口并选择“4 字节整数”。看起来像这样:

enter image description here

第一个字是“类型句柄”,它的取值是随机的,无视即可。毫无疑问,您可以猜到其余部分,您会看到数组长度和数组元素。

关于c# - 如何查看 C# 数组在内存中的放置方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28815089/

相关文章:

c - 检查相邻数组的简单方法

javascript - 在javascript中在数组中添加数组对象或在数组中添加新索引

c# - 只读 WaitHandle C#

c# - 在 WPF 中的行的开头和结尾放置一个形状

python - numpy 掩码数组限制掩码值的频率

java - 无法将 double 转换为 double [] 错误

python - 反转 ndarray 中的任意维度

c# - 从另一个数据库中的另一个模型引用一个模型 asp.net mvc

c# - 必须在非泛型静态类中定义扩展方法

c++ - 关于 C++ 结构中数组的初学者问题