0

/toのすべての出現箇所を置き換えたい\です。私はこのスニペットを使用しました:

_url =  _url.Replace("/",@"\");

に置き換え/ます\\わたしは

なぜこれが起こるのですか?スニペットを変更して良い結果を得るにはどうすればよいですか

4

2 に答える 2

2

あなたの文字列には、すでに単一のバックスラッシュが含まれている可能性があります!

I suspect your string already actually only contains a single backslash, 
but you're looking at it in the debugger which is escaping it for you into
a form which would be valid as a regular string literal in C#.

Jon Skeet の引用: Replace "\\" with "\" in a string in C#

于 2013-06-06T15:51:13.913 に答える
1

デバッガーで正しい動作を確認しようとしたと思います。Visual Studio のデバッガー ヒントはバックスラッシュ文字をエスケープするため\\、ツールヒントに表示される場合、文字列には実際にはバックスラッシュが 1 つしか含まれていません。デバッガーのツールチップの最後にある虫眼鏡アイコンをクリックして、エスケープされていないテキストを含むダイアログを表示します。

編集:これは、最後の虫眼鏡に関する部分を含め、時計ウィンドウにも当てはまります。

于 2013-06-06T15:53:21.160 に答える