Malheureusement, il n'y en a pas. Ce qui se passe ici est un artefact de la conception des API du débogueur.
Le composant responsable du traitement de l'appel ToString()
est l'évaluateur d'expression. C'est la source de données pour la majorité des fenêtres du débogueur (watch, locales, immédiates, etc ...).
Pour chaque fenêtre mais la valeur immédiate est affichée sur une seule ligne. L'affichage d'une chaîne multiligne sur une seule ligne n'a pas beaucoup de sens. Par conséquent, l'évaluateur d'expression rend la chaîne légèrement plus visible en échappant des caractères de nouvelle ligne dans une version affichable.
Cette technique fonctionne plutôt bien pour les locaux et la fenêtre de surveillance. Mais dans la fenêtre immédiate où il est plus logique d'afficher la valeur multiligne, cela a beaucoup moins de sens. Malheureusement, l'évaluateur d'expression ne connaît pas le contexte dans lequel ses données seront affichées et, par conséquent, effectue l'opération en toute sécurité qui doit échapper aux nouvelles lignes.
Je ne peux pas reproduire ce comportement sur mon VS2010, je reçois la nouvelle ligne dans la fenêtre immédiate. –
Y a-t-il des paramètres de fenêtre immédiate que je ne vois pas? –
Désolé je ne faisais que taper le nom de la var qui donne la sortie correcte, j'ai le même comportement que vous avec var.ToString() –