C# でメソッドに出会った
int Func(Contact @group)
{
group.Name = "";
}
「@」は何を意味しますか?
キーワードをエスケープするために使用されるため、名前付き@class
または類似のパラメーターを使用できます。そうしないと、構文エラーが発生します。
仕様の関連部分を参照してください: 2.4.2 識別子
接頭辞「@」を使用すると、キーワードを識別子として使用できます。これは、他のプログラミング言語とやり取りするときに役立ちます。文字 @ は実際には識別子の一部ではないため、識別子は他の言語では接頭辞なしの通常の識別子として表示される場合があります。@ 接頭辞が付いた識別子は逐語的識別子と呼ばれます。キーワードではない識別子に @ プレフィックスを使用することは許可されていますが、スタイルの問題として強くお勧めしません。
私はそれがリテラル変数だと信じています。
int
、などのキーワードdouble
は変数名として使用できませんが、次の@
記号を使用してこれを回避できます。
var int = 3; //compile error
var @int = 3; //okay