Domanda

Utilizzando Visual Studio 2010 Professional, Ho un metodo ToString() che assomiglia a questo:

public override string ToString()
{
    return "something" + "\n" + "something";
}

Perché ci sono diversi "something" 's e ciascuno è lunga, mi piacerebbe vedere

something
something

Purtroppo, sto vedendo

"something\nsomething"

C'è un modo per ottenere ciò che voglio?

È stato utile?

Soluzione

In realtà c'è un modo. È possibile utilizzare identificatori di formato nella finestra immediata per cambiare il formato del display. Se si dispone di una stringa con ritorni a capo e ritorni a capo in esso ( "\ r \ n") è possibile seguire la richiesta di stampa con l'identificatore di formato 'senza virgolette.

Nel tipo di finestra immediata:

?MyObj.ToString(),nq

e il \r\n causerà nuove righe nella finestra immediata.

Per maggiori informazioni su identificatori di formato vedi: http://msdn.microsoft.com/en-us/library/e514eeby.aspx

Altri suggerimenti

Purtroppo non non c'è. Quello che sta succedendo qui è un artefatto della progettazione delle API debugger.

Il componente responsabile per l'elaborazione della chiamata ToString() è l'analizzatore di espressioni. E 'l'origine dati per la maggior parte delle finestre del debugger (orologi, i locali, immediato, ecc ...).

Per ogni finestra, ma l'immediato il valore viene visualizzato su una sola riga. Visualizzazione di una stringa di più righe su una singola linea non ha molto senso. Da qui l'analizzatore di espressioni rende la stringa leggermente più visualizzabile dalla fuoriuscita caratteri di nuova riga in una versione visualizzabile.

Questa tecnica funziona abbastanza bene per la gente del posto e finestra di controllo. Ma nella finestra immediata in cui ha più senso per visualizzare il valore multilinea ha molto meno senso. Purtroppo l'analizzatore di espressioni non conosce il contesto in cui verranno visualizzati IT di dati e pertanto non fa il funzionamento sicuro che è quello di sfuggire alle nuove righe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top