int
C# では、やなどの識別子string
は、実際には言語レベルのキーワードです。
その理由は何ですか?
作成者がこれらの名前を持つユーザー型を禁止したい場合、構文エラーではなく、セマンティック エラーになる可能性があることに注意してください。
回答に基づくいくつかの説明:
パーサーを開発しているので、構文解析が可能/簡単になるため、それらはキーワードです。理由はわかり
ません。Type.Rule = Identifier
Type.Rule = Identifier | "int" | "string" | ...
それらは特別なエイリアス
var
でありdynamic
、特別なものであるためキーワードですが、キーワードではありません (互換性の理由から、キーワードであることが特別である必要がないことを示しています)。別の例では、型に適用すると、標準のカスタム属性ではなく[Serializable]
魔法の IL メタデータ修飾子が生成されます。serializable
しかし、それはまだキーワードではありません。それらは他の言語のキーワードだったのでキーワードです
良い答えですが、なぜ他の言語のキーワードなのですか? また、キーワードでなくても青色で強調表示することは確かに可能ですが、なぜ他の言語からそれを持ち込むのでしょうか?