Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在监视视图中格式化结构数据_C#_Struct - Fatal编程技术网

C# 在监视视图中格式化结构数据

C# 在监视视图中格式化结构数据,c#,struct,C#,Struct,我的代码中有一个Datetime类型的对象,比如 DateTime dt = DateTime.Now; 如果我将其添加到“观看”窗口,并以这样的格式显示: 但当我创建这样一个结构并将其添加到监视窗口时,它看起来像: 如果展开树,我可以看到结构的名称和属性。但我希望看到当前数据的格式化视图 我应该如何处理我的结构,使其在监视窗口中看起来像DateTime?您只需重写结构的ToString方法即可。 您返回的值将显示在“监视”窗口中 struct Foo { public int Ba

我的代码中有一个Datetime类型的对象,比如

DateTime dt = DateTime.Now;
如果我将其添加到“观看”窗口,并以这样的格式显示:

但当我创建这样一个结构并将其添加到监视窗口时,它看起来像: 如果展开树,我可以看到结构的名称和属性。但我希望看到当前数据的格式化视图


我应该如何处理我的结构,使其在监视窗口中看起来像DateTime?

您只需重写结构的ToString方法即可。 您返回的值将显示在“监视”窗口中

struct Foo {
    public int Bar;

    public Foo(int bar) {
        Bar = bar;
    }

    public override string ToString() {
        return Bar.ToString();
    }
}

您只需重写结构的ToString方法。 您返回的值将显示在“监视”窗口中

struct Foo {
    public int Bar;

    public Foo(int bar) {
        Bar = bar;
    }

    public override string ToString() {
        return Bar.ToString();
    }
}
您还可以使用DebuggerDisplayAttribute:

您还可以使用DebuggerDisplayAttribute:


非常感谢您的回复。这很有效。但是前面的答案返回的字符串与DateTime一样。但在我看来,你的方法也是一个很好的替代方法。非常感谢你的回复。这很有效。但是前面的答案返回的字符串与DateTime一样。但在我看来,你的方法也是一个很好的替代方法。非常感谢你的回复。这就是诀窍。真不敢相信这么容易。我曾多次使用ToString方法,但从未注意到它会以这种方式改变手表窗口的显示。非常感谢您的回复。这就是诀窍。真不敢相信这么容易。我曾多次使用ToString方法,但从未注意到它会以这种方式更改手表窗口的显示。