55

Visual Studio 2010 Professionalを使用ToString()すると、次のようなメソッドがあります。

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

いくつかsomethingの「」があり、それぞれが長いので、見たいです

something
something

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

"something\nsomething"

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

4

2 に答える 2

136

実際には方法があります。イミディエイトウィンドウでフォーマット指定子を使用して、表示のフォーマットを変更できます。キャリッジリターンと改行を含む文字列( "\ r \ n")がある場合は、「引用符なし」形式指定子を使用して印刷要求に従うことができます。

イミディエイトウィンドウで次のように入力します。

?MyObj.ToString(),nq

すると、\r\nすぐにウィンドウに改行が表示されます。

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

于 2010-05-21T01:29:03.273 に答える
-3

残念ながらありません。ここで起こっているのは、デバッガーAPIの設計の成果物です。

呼び出しの処理を担当するコンポーネントToString()は、式エバリュエーターです。これは、ほとんどのデバッガウィンドウ(監視、ローカル、即時など)のデータソースです。

即時以外のすべてのウィンドウについて、値は1行に表示されます。1行に複数行の文字列を表示することはあまり意味がありません。したがって、式エバリュエーターは、改行文字を表示可能なバージョンにエスケープすることにより、文字列をわずかに表示しやすくします。

このテクニックは、地元の人や時計の窓に非常によく機能します。しかし、複数行の値を表示する方が理にかなっている即時ウィンドウでは、あまり意味がありません。残念ながら、式エバリュエーターは、データが表示される場所のコンテキストを認識していないため、改行をエスケープするという安全な操作を実行します。

于 2010-05-19T20:22:23.480 に答える