このようなものを書きたいC:\Users\UserName\Documents\Tasksでtextbox:
C:\Users\UserName\Documents\Tasks
textbox
txtPath.Text = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)+"\Tasks";
エラーが発生します:
認識されないエスケープシーケンス。
文字列に円記号を書き込むにはどうすればよいですか?
バックスラッシュ("\")文字は、新しい行などの他の特殊文字を示すために使用される特殊エスケープ文字です(\n)、タブ(\t)、または引用符(\")。
"\"
\n
\t
\"
バックスラッシュ文字自体を含める場合は、2つのバックスラッシュが必要であるか、@逐語的な文字列:
@
var s = "\\Tasks"; // or var s = @"\Tasks";
読むMSDNドキュメント/ C#仕様これは、円記号を使用してエスケープされる文字と、逐語的な文字列リテラルの使用について説明しています。
一般的に言えば、ほとんどのC#.NET開発者は、@ファイル/フォルダーパスを作成するときの逐語的な文字列は、常に二重の円記号を書き込む必要がなく、パスを直接コピーして貼り付けることができるため、同じことを行う習慣を身に付けることをお勧めします。
とはいえ、この場合、実際に使用することをお勧めしますPath.Combineのようなユーティリティメソッド@lordkainの答えその場合、パスの一部を結合するときに、バックスラッシュがすでにパスに含まれていて、誤ってスラッシュを2倍にしたり、完全に省略したりするかどうかを心配する必要はありません。
Path.Combine
バックスラッシュを回避するには、次のように2つを使用します。\\
\\
あなたが他のものを逃れる必要があるならば、これは役に立つかもしれません。.
このために作られた特別な機能がありますPath.Combine()
var folder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); var fullpath = path.Combine(folder,"Tasks");
前の答えは正しいですが、この特定のケースでは、System.IO.Path.Combine方法。
詳細については、こちらをご覧ください。http://msdn.microsoft.com/en-us/library/fyy7a5kt.aspx
txtPath.Text = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)+"\\\Tasks";
シングルバックスラッシュの代わりにダブルバックスラッシュを入れてください...
ただ逃げる"\"+を使用して"\\Tasks"または次のような逐語的な文字列を使用します@"\Tasks"
"\\Tasks"
@"\Tasks"
この投稿はかなり古いものですが、私は自分のケースでうまくいくものを試しました。
以下の値で文字列変数を作成したかったのです。
21541_12_1_13\":null
だから私のアプローチはそのようなものでした:
逐語的に使用して文字列を構築する
string substring = @ "21541_12_1_13 \" ":null";
次に、削除機能を使用して不要な円記号を削除します
string newsubstring = substring.Remove(13、1);
お役に立てば幸いです。乾杯
すべての答え
バックスラッシュ(
"\"
)文字は、新しい行などの他の特殊文字を示すために使用される特殊エスケープ文字です(\n
)、タブ(\t
)、または引用符(\"
)。バックスラッシュ文字自体を含める場合は、2つのバックスラッシュが必要であるか、
@
逐語的な文字列:読むMSDNドキュメント/ C#仕様これは、円記号を使用してエスケープされる文字と、逐語的な文字列リテラルの使用について説明しています。
一般的に言えば、ほとんどのC#.NET開発者は、
@
ファイル/フォルダーパスを作成するときの逐語的な文字列は、常に二重の円記号を書き込む必要がなく、パスを直接コピーして貼り付けることができるため、同じことを行う習慣を身に付けることをお勧めします。とはいえ、この場合、実際に使用することをお勧めします
Path.Combine
のようなユーティリティメソッド@lordkainの答えその場合、パスの一部を結合するときに、バックスラッシュがすでにパスに含まれていて、誤ってスラッシュを2倍にしたり、完全に省略したりするかどうかを心配する必要はありません。バックスラッシュを回避するには、次のように2つを使用します。
\\
あなたが他のものを逃れる必要があるならば、これは役に立つかもしれません。.
このために作られた特別な機能がありますPath.Combine()
前の答えは正しいですが、この特定のケースでは、System.IO.Path.Combine方法。
詳細については、こちらをご覧ください。http://msdn.microsoft.com/en-us/library/fyy7a5kt.aspx
シングルバックスラッシュの代わりにダブルバックスラッシュを入れてください...
ただ逃げる
"\"
+を使用して"\\Tasks"
または次のような逐語的な文字列を使用します@"\Tasks"
この投稿はかなり古いものですが、私は自分のケースでうまくいくものを試しました。
以下の値で文字列変数を作成したかったのです。
だから私のアプローチはそのようなものでした:
逐語的に使用して文字列を構築する
string substring = @ "21541_12_1_13 \" ":null";
次に、削除機能を使用して不要な円記号を削除します
string newsubstring = substring.Remove(13、1);
お役に立てば幸いです。乾杯
Leave a Reply