The "@" character is allowed as a prefix to enable keywords to be used as identifiers. .netの開発者の多くはこれについて知っています。Cの識別子の接頭辞@
でもわからないもの: 2つの識別子は、接頭辞「@」を取り除いても同じであるとみなされます。
ので
static void Main(string[] args)
{
int x = 123;
Console.WriteLine(@x);
}
は絶対に有効なコードやプリントコンソールに123です。
私は仕様にそのようなルールがあり、実際の状況でこの機能をどのように使用できるのか不思議です(識別子がキーワードでない場合は識別子の前に "@"を付けても意味がありません) ?)。
なぜ「@ x」が有効であるかについての質問でした。申し訳ありませんが私はあなたの質問を最初に持っていませんでした。テストのために 'nameof(@x)'も表示することができ、 'x'が表示されます。 –