title: Does the DebuggerDisplay directive ",nq" only have effect for strings?
body: <p>I'm writing some code to automatically parse/evaluate <code>DebuggerDisplay</code> strings for unit testing purposes. I'm curious, does the <code>,nq</code> directive only have effect for strings? I see that if I write</p>
  
  <pre><code>[DebuggerDisplay("{c,nq}")]
  public class D { public C c = new C(); }
  
  public class C { }
  </code></pre>
  
  <p>Then a <code>new D()</code> will present as <code>{C}</code> in the debugger. Removing the <code>,nq</code> from the display string has the same effect. Only if I change the type of <code>c</code> to a string, like this</p>
  
  <pre><code>[DebuggerDisplay("{c,nq}")]
  public class D { public string c = "foo"; }
  </code></pre>
  
  <p>does removing/keeping <code>,nq</code> seem to have effect (it results in <code>"foo"</code> and <code>foo</code>, respectively). So does <code>,nq</code> only matter when you're trying to display a string field/member?</p>