Purtroppo no non c'è. Quello che sta accadendo qui è un artefatto del design delle API del debugger.
Il componente responsabile dell'elaborazione della chiamata ToString()
è l'analizzatore di espressioni. È la fonte di dati per la maggior parte delle finestre del debugger (watch, locali, immediate, ecc ...).
Per ogni finestra ma il valore immediato viene visualizzato su una singola riga. La visualizzazione di una stringa multilinea su una singola riga non ha molto senso. Quindi l'analizzatore di espressioni rende la stringa leggermente più visualizzabile sfuggendo a caratteri di nuova riga in una versione visualizzabile.
Questa tecnica funziona molto bene per la gente del posto e la finestra di visualizzazione. Ma nella finestra immediata dove ha più senso visualizzare il valore multilinea, ha molto meno senso. Sfortunatamente, il valutatore di espressioni non conosce il contesto in cui verranno visualizzati i dati e quindi l'operazione sicura che è quella di sfuggire ai newline.
non riesco a riprodurre questo comportamento sul mio VS2010, ho la nuova riga nella finestra immediata. –
Ci sono impostazioni Immediate Window che non vedo? –
Spiacente stavo solo digitando il nome della var che fornisce l'output corretto, ho lo stesso comportamento di var.ToString() –