2013-10-18 1 views
5

IC# in Verfahren, haben ein @ vor Parameter

int Func(Contact @group) 
{ 
    group.Name = ""; 
} 

Was die Dosis ein Verfahren in C# erfüllt '@' bedeuten?

+1

„@“ ermöglicht die Verwendung von Schlüsselwörtern als Bezeichner – Rex

+0

Vermutlich In der zweiten Zeile sollte '@group.Name = ""; –

Antwort

7

Es wird verwendet, um Schlüsselwörter zu umgehen, so dass Sie die Parameter @class oder ähnliche haben können, die andernfalls zu einem Syntaxfehler führen würden.

Siehe den entsprechenden Abschnitt der Beschreibung: 2.4.2 Identifiers

Das Präfix „@“ ermöglicht die Verwendung von Schlüsselwörtern als Bezeichner, was nützlich ist, wenn sie mit anderen Programmiersprachen Schnittstelle. Das Zeichen @ ist nicht Teil des Bezeichners, daher könnte der Bezeichner in anderen Sprachen als normaler Bezeichner ohne Präfix angezeigt werden. Ein Bezeichner mit einem @ Präfix wird als Verbatim-Bezeichner bezeichnet. Die Verwendung des Präfixes @ für Bezeichner, bei denen es sich nicht um Schlüsselwörter handelt, ist zulässig, wird jedoch strengstens vom Stil her abgeraten.

2

Ich glaube, es ist eine wörtliche Variable.

Schlüsselwörter wie int, double usw. können nicht als Variablennamen verwendet werden, aber man um diese mit dem @ Symbol bekommen:

var int = 3; //compile error 

var @int = 3; //okay