Ein wichtiger Punkt, den die anderen Antworten vergessen haben, ist, dass "@keyword" im CIL zu "keyword" kompiliert wird.
Also, wenn Sie ein Framework haben, das beispielsweise in F# erstellt wurde und Sie eine Klasse mit einer Eigenschaft namens "class" definieren müssen, können Sie dies tatsächlich tun.
In der Praxis ist es nicht so nützlich, aber ohne dies würde C# einige Formen der Sprachinteroperabilität verhindern.
Ich sehe es normalerweise nicht für die Interop verwendet, sondern um die Schlüsselwortbeschränkungen zu umgehen (normalerweise bei lokalen Variablennamen, wo dies der einzige Effekt ist), d.h.
private void Foo(){
int @this = 2;
}
aber das würde ich dringend abraten! Finden Sie einfach einen anderen Namen, auch wenn der 'beste' Name für die Variable einer der reservierten Namen ist.
1 Stimmen
Siehe stackoverflow.com/questions/91817