88 votes

C # préfixant les noms de paramètres avec @

Double Possible:
Quel est le symbole @ devant le nom d'une variable signifie en C#?

Dupliquer:

Quel est le symbole @ devant le nom d'une variable signifie en C#?

Je vois parfois des de code C# où un méthode à paramètre est précédé d'un @, comme ceci:

public static void SomeStaticMethod( SomeType @parameterName )
{
}

Quelle est la signification de cela ? Est-il a quelques gros signification particulière ?

Je suis entrain de créer un EventListener dans NHibernate, et quand je laisse VS.NET générer les méthodes d'interface, il génère le OnPostLoad méthode comme ceci:

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

        }
    }

Pourquoi est-ce ?

133voto

Hugoware Points 13645

Essayez de créer une variable nommée classe et voyez ce qui se passe - vous remarquerez que vous obtenez une erreur.

Cela vous permet d'utiliser des mots réservés en tant que noms de variables.

Sans relation, vous remarquerez également les chaînes préfixées par @ également - Ce n'est pas la même chose ...

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

Cela vous permet d'utiliser la valeur "littérale" de la chaîne, ce qui signifie que vous pouvez avoir de nouvelles lignes ou de nouveaux caractères sans échappées, etc.

48voto

Rad Points 6308

Le préfixe @ vous permet d'utiliser des mots réservés tels que classe, interface, événements, etc. comme noms de variable en C #. Donc tu peux faire

 int @int = 1
 

23voto

Timothy Carter Points 7079

event est un mot-clé C #, le @ est un caractère d'échappement vous permettant d'utiliser un mot-clé comme nom de variable.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X