C# · 12月 26, 2021

c# – 如何调试大型字符串列表和多维数字数组?

我经常使用C#来处理大型数据集,这些数据集采用非常大的字符串列表或大型2或3维数字数组的形式.后者特别容易在Matlab中可视化,这是我经常错过C#的功能.

VS2012具有非常好的调试功能,允许您以各种方式停止执行和检查不同的变量.它还将突出显示随红色变化的变量.

不幸的是,对于列表和矩阵,这是没用的.默认情况下,不会展开列表,如果您确实展开了列表,则除非您单独展开每个条目,否则将无法看到各个条目的值.布局在空间上是不经济的,因此您可以一次看到很少的条目.对于较大的2D阵列,条目的排列方式使得对阵列的解释一目了然.

对于数据集,有一个很棒的可视化工具,当您在调试模式下单击放大镜时会自动显示该工具.不幸的是,我找不到与字符串,字符串数组或2D数组数组相似的任何内容.

在执行暂停时是否有用于查看此类数据结构的扩展或隐藏功能?如果不是,我该如何制作自己的?

解决方法 您可以编写自己的自定义 Visualizer.

> Walkthrough: Writing a Visualizer in C#
> How to: Install a Visualizer

还有这个:

> Array Visualizer

Array Visualizer is a free,open source extension for visual studio. It is designed to display 2D,3D and 4D arrays while debugging an application.