C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 2 を表示中)
■2201 / )  (C#.NET)エスケープシーケンスについて
□投稿者/ とおりすがり 二等兵(1回)-(2005/12/26(Mon) 08:56:14)

分類:[C#] 


分類:[C#] 

いつも参考にさせていただいています。
C#.NETでの円マークの扱いについての質問です。
(以下、半角円マーク「¥」は「\」と表示されますのでご留意下さい)

 [string abc = "C:\Program Files";]のように記述すると
 構文エラーが発生するため、
 [string abc = @"C:\ProgramFiles";]のように
 エスケープシーケンス文字として読ませるよう記述すると思います。

 ところが、何故か改行コードは[string abc = "\r\n";]と記述しても
 構文エラーが発生しません。もちろん[string def = @"\r\n";]としても
 構文エラーは発生しないのですが、この両者、[if (abc == def)]のように
 比較してみると、どうやら文字コード自体は違う文字列として扱われる
 ようなのです。

 質問-------------------------------------------------------
 「エスケープシーケンスって何?」というところが
 よく分かっていないのが現状ですが、以下、質問させてください。
  質問1)[@]付きの文字列と[@]無しの文字列、何が違うのか?
  質問2)[@]付きの文字列を[@]無しの文字列に変換できないか?
 -----------------------------------------------------------

 困っている事-----------------------------------------------
 XMLファイルから[\r\n](改行コード)付きの文字列を取得し
 それをグレープシティー社の[ElTabelle(エルタブレ)]にセット
 すると改行されず[\r\n]が文字列としてそのまま表示された。

 原因は、文字列[\r\n]をC#.NETが「エスケープシーケンス文字」
 として文字列を[@]付きにセットしていたため。
 [@"\r\n"]→["\r\n"]に変換しElTabelleに入れると改行出来た。
 以上のことから、[@"\"]→["\"]に変換するメソッドを作成したい。
 -----------------------------------------------------------

以上、長文になりましたがよろしくお願い致します。


0
返信 編集キー/


管理者用

- Child Tree -