【问题标题】:Create initializer during debugging (e.g. in the immediate window)在调试期间创建初始化程序(例如在即时窗口中)
【发布时间】:2016-06-08 16:40:14
【问题描述】:

有什么方法可以在 Visual Studio 中以可以直接在代码中用于初始化变量的格式输出值?

例如,假设我有一个名为 anArray 的数组,并且在调试期间,它被赋予了一些内容。现在,在即时窗口中,我可以轻松打印内容,例如:

{double[3, 3]}
    [0, 0]: 1.0
    [0, 1]: 2.0
    [0, 2]: 3.0
    [1, 0]: 4.0
    [1, 1]: 5.0
    [1, 2]: 6.0
    [2, 0]: 7.0
    [2, 1]: 8.0
    [2, 2]: 9.0

现在我想要的是相同的信息,但是以允许将其粘贴到代码中的格式打印出来,也就是说,像这样:

new double[,] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }

这可能吗?

同样,对其他类型的(简单)对象也可以这样做,比如这个类:

class TheClass
{
    public int TheIntProperty { get; set; }
    public double TheDoubleProperty { get; set; }
}

创建并打印该类的对象会在即时窗口中提供以下输出:

anObject
{ConsoleApplication.TheClass}
    TheDoubleProperty: 0.5
    TheIntProperty: 2

而我想要的是这样的:

new TheClass
{
    TheIntProperty = 2,
    TheDoubleProperty = 0.5
};

我想我可以编写一个简单的脚本来实现这一点,但我认为这可能是 Visual Studio 中已经存在的功能。那么,是吗?

【问题讨论】:

    标签: c# visual-studio


    【解决方案1】:

    我自己刚刚找到了解决方案。一个名为 Object Exporter 的第三方小工具似乎可以满足我的需要:

    http://www.omarelabd.net/exporting-objects-from-the-visual-studio-debugger/

    但不适用于多维数组。但除此之外,似乎还可以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多