Niektóre więcej szczegółów z MSDN:
Przedrostek „@” umożliwia wykorzystanie słów kluczowych jako identyfikatory, które jest przydatnych podczas łączenia z innymi języków programowania. Znak @ nie jest częścią identyfikatora , więc identyfikator może być widziany w innych językach jako normalny identyfikator , bez prefiksu. Identyfikator z prefiksem @ jest nazywany pełnym identyfikatorem. Użycie prefiksu @ dla identyfikatorów niebędących słowami kluczowymi jest dozwolone, ale zdecydowanie odradza się ze względu na styl.
z C# Language Specification: 2.4.2 Identifiers.
Dzięki temu prefixowanie z "@" umożliwia np. wywodzić się z klasy o nazwie "delegat", która może być zdefiniowana w bibliotece napisanej w innym języku niż C#.
W żadnym innym przypadku nie poleciłbym używać tej składni i raczej tworzyć identyfikatory inne niż słowa kluczowe w języku C# (np. Wartość zamiast wartości) w celu zwiększenia czytelności kodu i uniknięcia zamieszania, niezależnie od tego, czy jest do niego dołączone specjalne znaczenie.
Istnieje również inny ciekawy fakt o zmiennej nazewnictwa wspomniano tam:
Identyfikatory zawierające dwa kolejne znaków podkreślenia (U + 005F) są zastrzeżone do użytku przez realizację . Na przykład implementacja może dostarczyć rozszerzonych słów kluczowych rozpoczynających się od dwóch podkreśleń .
Doskonale! Oto referencja, której szukałem :-) – devstuff