質問

Visual Studio 2010 Professionalを使用して、私は持っています ToString() このように見える方法:

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

いくつかあるから」something「そしてそれぞれが長いです、私は見たいです

something
something

悲しいことに、私は見ています

"something\nsomething"

私が欲しいものを手に入れる方法はありますか?

役に立ちましたか?

解決

実際には方法があります。即時ウィンドウのフォーマット仕様を使用して、ディスプレイの形式を変更できます。キャリッジリターンとラインフィードが入った文字列( " r n")がある場合は、「no quotes」形式の仕様で印刷リクエストに従うことができます。

即時のウィンドウタイプ:

?MyObj.ToString(),nq

そしてその \r\n すぐ近くのウィンドウにnewlinesが発生します。

フォーマット仕様の詳細については、以下を参照してください。http://msdn.microsoft.com/en-us/library/e514eeby.aspx

他のヒント

残念ながら、ありません。ここで起こっているのは、デバッガーAPIのデザインのアーティファクトです。

処理を担当するコンポーネント ToString() 呼び出しは式評価者です。これは、デバッガーウィンドウの大部分(監視、地元の人、すぐになど)のデータソースです。

即時以外のすべてのウィンドウについて、値は単一行に表示されます。単一の行にマルチライン文字列を表示することはあまり意味がありません。したがって、式評価者は、新しいライン文字を表示可能なバージョンに逃げることにより、文字列をわずかに表示しやすくします。

このテクニックは、地元の人々や窓の窓に非常にうまく機能します。しかし、マルチライン値を表示する方が理にかなっている即時のウィンドウでは、それほど意味がありません。残念ながら、式評価者は、データが表示される場所のコンテキストを知らないため、ニューラインから逃れるための安全な操作を行います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top