2012-02-09 35 views
3

私は以下の生の文字列リテラルを持っています:@"some text ""here"" and some more text" これは、プログラム内の文字列変数に割り当てられているとすべて正常に動作します。
しかし、私はこの文字列を"some text ""here"" and some more text"に入れて読むと、生の文字列として認識されていません。

C#で生の文字列として認識させるにはどうすればよいですか?具体的には、文字列が生の文字列であることを示すために使用される '@'指定子とプログラム的に等価なものは何ですか?C言語のファイルから生の文字列を読み取る

+0

どのように保存して読みますか?テキストファイル、xml ...で保存しますか? –

+0

あなたは現時点でどのようにあなたのコードを表示するのに気を使いますか?そうでなければ、あなたが持っているすべての見積もりにエスケープ文字を追加します。 – cpoDesign

+0

文字列は引用符を含むかどうかの文字列です。あなたはこれらの文字列で直面している問題は何ですか? – Oded

答えて

2

なぜあなたはそれをエスケープしませんか?

"some text \"here\" and some more text" 

enter image description here

+0

テキストは私によって所有されていません。私はただそれを読んでいます。 – Aadith

1

@指定のないプログラムで相当するものはありません。指定子はでのみ使用され、逐語文字列を内部表現に変換する時間はです。 (BTW、適切な名前は生の文字列ではなく、そのままの文字列です)。一方と、それらの間の唯一の違いは、あなたのソースコードに表示され

string str1 = "some text \"here\" and some more text"; 
string str2 = @"some text ""here"" and some more text"; 

したがって、str1以下str2は、実行時に正確同じ文字列を表します。テキストファイルから文字列を読み込むときに、プログラムによる変換を適用する必要はありません。

0

生の文字列を言うとき、あなたは文字通りの文字列を意味すると思います。 @記号を使用して

http://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx

リテラル文字列は文字通り提供されたテキストを取るようにコンパイラに指示してい。

私が知る限り、文字列をその文字列のリテラルバージョンに変換する方法はありません。

しかし、二重引用符を一重引用符で置き換えるコードを簡単に書くことができます。

関連する問題