当一个人将一个字符串包装到一个对象中并使该对象ToString返回该字符串时,\0永远不会显示:

public void Test()
{
    var a = "a";
    var b = "\0";
    var c = new ClassA { Value = a };
    var d = new ClassB { Value = b };
}

public class ClassA
{
    public string Value;

    public override string ToString()
    {
        return Value;
    }
}

public class ClassB
{
    public string Value;

    public override string ToString()
    {
        return Value;
    }
}

enter image description here

如何让d在调试器中显示为b

推荐答案

如何才能让d在调试器中显示为b?

只需将DebuggerDisplayAttribute应用于ClassB:

[DebuggerDisplay("{Value}")]
public class ClassB
{
    public string Value;

    public override string ToString()
    {
        return Value;
    }
}

Csharp相关问答推荐

如何将ref T*重新解释为ref nint?

如何禁用ASP.NET MVP按钮,以便无法使用开发人员控制台重新启用它

如何使用Unity和MRTK3将手网添加到Hololens 2应用程序中

. NET Core DB vs JSON模型设计

可为空的泛型属性

如何使datagridview的列具有响应性,以便不是所有列都更改其宽度

mocking对象的引发事件并作为用于调用方法的参数对象传递到那里

将现有字段映射到EFCore中的复杂类型

使用泛型可空类实现接口

C#带主体的主构造函数?

如何在NET 8最小API中自动记录TypedResults.Stream响应

未在数据流块之间传播完成

是否由DI容器自动处理由ActivatorUilties.CreateInstance()创建的服务?

CRL已过期,但ChainStatus告诉我RevocationStatus未知

JsonPath在Newtonsoft.Json';S实现中的赋值

从Base64转换为不同的字符串返回相同的结果

在.NET Maui中,Flyoutindow/Hamburger菜单可以在shell 之外实现吗?

Visual Studio如何使用当前的框架?

如何在绑定到数据库的datagridview中向上或向下移动行

根据优先级整理合同列表