1. ホーム
  2. c#

[解決済み] C# パラメータ名の前に@を付ける [重複].

2023-04-18 06:42:07

質問

重複の可能性があります。

C#で変数名の前の@記号は何を意味するのですか?

重複しています。

C#で変数名の前の@記号は何を意味するのですか?

時々、以下のようにメソッド・パラメータの前に@が付いているC#のコードを見かけることがあります。

public static void SomeStaticMethod( SomeType @parameterName ) { }

この意味は何でしょうか? 何か重要な特別な意味があるのでしょうか?

NHibernateでEventListenerを作成していますが、VS.NETにインターフェースメソッドを生成させると、このようにOnPostLoadメソッドが生成されます。

public class PostLoadEventListener : IPostLoadEventListener
{
    public void OnPostLoad( PostLoadEvent @event )
    {

    }
}

これはなぜか?

どのように解決するのですか?

という名前の変数を作ってみてください。 クラス という名前の変数を作ってみて、何が起こるか見てみましょう。

これで予約語を変数名として使うことができます。

関係ないですが、@を先頭につけた文字列もありますね -- これは同じものではありませんが......。

string says = @"He said ""This literal string lets me use \ normally 
    and even line breaks"".";

これは、文字列の「リテラル」値を使用することができます。つまり、改行やエスケープなしの文字などを使用することができます。