2010-12-02 4 views
3

可能性の重複:
What's the @ in front of a string for .NET?C#で、 "@"記号は何をしますか?

時々私は、サンプルコードを見て、文字列と一緒に "@" 記号を持つことになります。例えば :第四行で

EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(); 
    entityBuilder.Provider = "System.Data.SqlServerCe.3.5"; 
    entityBuilder.ProviderConnectionString = providerString; 
    entityBuilder.Metadata = @"res://*/App_Data.data.csdl|res://*/App_Data.data.ssdl|res://*/App_Data.data.msl"; 

、「@」の使用方法は何ですか? これを削除しようとしても、それはまだ動作します。

+0

優れたQそれは既存の説明を最初にチェックする価値がある。 –

+0

btw、この場合は何も変更されません。何もエスケープする必要はありません。 –

+2

うわー。それは30秒以内に終了しました。良い仕事Marc :) –

答えて

3

@ "c:\ Foo"などの文字列リテラルは、逐語文字リテラルと呼ばれます。基本的には、「次の引用文字に達するまで、文字を解釈しない」という意味です。したがって、逐語的な文字列リテラルには、バックスラッシュ(二重にすることなく)と行区切り文字を含めることができます。 @ "My name is" "Jon" ""はMy name is "Jon"という文字列を表します。行区切り文字を含む逐語的な文字列リテラル行頭に空白が含まれているので、空白が問題となる場合には使用しない傾向がありますが、ソースコードにXMLやSQLを含めることは非常に便利です。 (ラインセパレータを必要としない)ファイルシステムのパスを指定するためである。

Taken from

+0

(外部リンクは便利ですが、予期せず消えてしまう傾向があります;実際の投稿にはいくつかのコンテンツが優先されます) –

+0

今変更しました – Kimtho6

1

それはエスケープシーケンスとして\を治療し、文字通りの文字列を取らないようにコンパイラに指示します。

関連する問題