我正在编写一些代码来自动解析/评估DebuggerDisplay字符串以进行单元测试。我很好奇,该,nq指令是否仅对字符串有效?我看到,如果我写
[DebuggerDisplay("{c,nq}")]
public class D { public C c = new C(); }
public class C { }
然后 anew D()将出现{C}在调试器中。,nq从显示字符串中删除具有相同的效果。只有当我将类型更改为c字符串时,像这样
[DebuggerDisplay("{c,nq}")]
public class D { public string c = "foo"; }
删除/保留,nq似乎有效果(它分别导致"foo"和foo)。那么,nq只有当您尝试显示字符串字段/成员时才重要吗?