Während ich ein Buch über C # gelesen habe, bin ich auf einen Code gestoßen, der das @ verwendet, um zu "überladen" oder ein C # -Schlüsselwort als Kennung zu verwenden. Ich vermute, das ist keine gute Praxis, da es zu Zweideutigkeiten führt. Habe ich Recht, dies zu denken, oder gibt es Zeiten, in denen dies verwendet werden sollte?
In der Tat lohnt es sich fast immer, dies zu vermeiden. Die wichtigste gültige Zeit, die es nützlich sein könnte, ist, wenn es um eine externe Bibliothek (aus einer anderen Sprache) mit einer Klasse / etc geht, die zufällig ein C # -Schlüsselwort ist, aber ich gebe zu, dass ich
Eine andere (wohl faule) Verwendung ist die Code-Generierung; Wenn Sie Felder / Variablen / etc immer mit @theName voranstellen, müssen Sie sich nicht um spezielle Fälle kümmern. Persönlich vergleiche ich einfach mit einer Liste von C # -Schlüsselwörtern / kontextbezogenen Schlüsselwörtern und füge etwas wie Unterstreichung hinzu.
Die andere Verwendung des @ -Zeichens (wörtliche Zeichenfolgenliterale) ist @ "viel nützlicher".
Ich halte es für eine schlechte Idee, Schlüsselwörter als Variablennamen zu reservieren. IMHO macht es den Code weniger lesbar. Obwohl es einige Fälle gibt, in denen es nützlich sein könnte. Zum Beispiel könnten Sie in einer ASP.NET MVC View schreiben:
%Vor%Wie andere gezeigt haben, kann @ -quoting bei Strings sehr nützlich sein. Hier sind einige Beispiele:
%Vor%Ich habe es nur benutzt und gesehen, dass es nur mit den Strings verwendet wurde, wie:
%Vor%Sie können alles vermeiden, was zu Verwirrung führt. : -)
Der einzige Ort, an dem ich @ verwende, ist Strings.
Von MSDN: Der Vorteil von @ -Quoten ist, dass Escape-Sequenzen nicht verarbeitet werden. So kann beispielsweise ein vollqualifizierter Dateiname einfach geschrieben werden:
@"c:\Docs\Source\a.txt" // rather than "c:\Docs\Source\a.txt"
Ich vermeide es, außer mit Erweiterungsmethoden, wo ich denke, dass es Lesbarkeit hilft:
%Vor%